GitHub Actions vs cron
GitHub Actions scheduled workflows vs cron
GitHub Actions can run on a cron schedule, which makes it tempting to use for recurring tasks. It is convenient if your code already lives on GitHub — but its scheduler is best-effort, it bills by the minute, and it will not tell you when a scheduled run is delayed or skipped. Here is how it compares to hosted cron, and how to monitor either.
| Cronmint | GitHub Actions | |
|---|---|---|
| Runs your own code/CI | Calls your URL | |
| Guaranteed on-time schedule | Best-effort | |
| Missed-run / skipped-run alerts | ||
| Sub-5-minute schedules | 1 min (Pro) | Often delayed |
| Billed by run minutes | ||
| Run history & alerting built in | Logs only |
Where GitHub Actions cron works
If your recurring task is really a CI job — building, testing, publishing, running a script that lives in the repo — GitHub Actions is a natural home. You get the runner, secrets, and the same workflow syntax you already use.
Where it falls short
- The schedule is best-effort. GitHub explicitly notes that scheduled workflows can be delayed — especially on the hour — or dropped entirely under high load.
- There is no missed-run alerting. If a scheduled run is skipped, nothing tells you; you discover it by noticing the work did not happen.
- Short intervals are unreliable. A `*/5` schedule frequently runs late, so it is a poor fit for time-sensitive jobs.
- It bills by the minute, which adds up for frequent jobs.
Monitor your GitHub Actions schedule
You do not have to leave GitHub Actions to get alerting. Add a heartbeat ping as the last step so a successful run checks in — and Cronmint alerts you when a run is skipped or fails to reach that step:
on:
schedule:
- cron: '0 3 * * *'
jobs:
nightly:
runs-on: ubuntu-latest
steps:
- run: ./scripts/nightly.sh
- name: Heartbeat
run: curl -fsS https://cronmint.com/ping/YOUR-TOKEN >/dev/nullGet alerted when a scheduled run is skipped
5 jobs free, no card. Set up your first monitor in about 30 seconds.
Start freeFrequently asked questions
Are GitHub Actions cron schedules reliable?
They are best-effort. GitHub warns that scheduled workflows may be delayed or skipped during periods of high load, particularly for schedules on the hour. For time-sensitive jobs, a dedicated scheduler is more reliable.
Why did my GitHub Actions schedule not run?
Usually because scheduled runs are queued and can be dropped under load, or the workflow was disabled after 60 days of repo inactivity. Without external monitoring you get no alert when this happens.
Can I get alerted when a GitHub Action doesn’t run?
Yes — add a heartbeat ping as the final workflow step and use a monitor like Cronmint to alert you when the expected check-in is missing.
Keep reading