Replies: 3 comments
|
💬 Your Product Feedback Has Been Submitted 🎉 Thank you for taking the time to share your insights with us! Your feedback is invaluable as we build a better GitHub experience for all our users. Here's what you can expect moving forward ⏩
Where to look to see what's shipping 👀
What you can do in the meantime 💻
As a member of the GitHub community, your participation is essential. While we can't promise that every suggestion will be implemented, we want to emphasize that your feedback is instrumental in guiding our decisions and priorities. Thank you once again for your contribution to making GitHub even better! We're grateful for your ongoing support and collaboration in shaping the future of our platform. ⭐ |
|
Expected right now, not something about your repository or plan. Measured on a public repository on a personal Free account (so not private, not minutes-limited): two hourly crons, The documented behaviour covers it, barely: "The schedule event can be delayed during periods of high loads ... some queued jobs may be dropped." Your off-the-hour minute already follows the docs' advice; it is not helping anyone this week. Diagnostics that separate causes: gh run list -R OWNER/REPO --event schedule --limit 100 --json createdAt,conclusion --jq '.[].createdAt'Steady runs on random minutes with multi-hour gaps = platform queueing (what you have). No runs at all for 60+ days = the schedule was disabled for inactivity. Runs that start but fail = your workflow. A plan change buys nothing here; the scheduler is shared. What does work, exactly to the second in #208916 for four days, is triggering from outside: curl -X POST -H "Authorization: Bearer $TOKEN" \
-H "Accept: application/vnd.github+json" \
https://api.github.com/repos/OWNER/REPO/actions/workflows/FILE.yml/dispatches \
-d '{"ref":"main"}'Any cron you trust can call it (cron-job.org, a Cloudflare Worker cron trigger, EventBridge Scheduler), with a fine-grained token scoped to the repo with Actions read/write. Keep the |
|
Your pattern matches a platform-side scheduling backlog, not a config issue. Runs firing at scattered minutes with whole hours skipped means queued runs are being delayed or dropped under load, which GitHub documents as possible for the schedule event. Your setup already follows the documented guidance, with the cron off the top of the hour and the workflow file on the default branch, which is the only branch GitHub reads schedules from. One extra check is to line up your gap windows with the GitHub status page, since identical gaps across unrelated repositories in the same week point to a platform issue rather than anything in your repo. For dependable hourly timing, an external trigger calling workflow_dispatch on a timer is the reliable workaround, and changing plans would not change this scheduling behaviour. |
Uh oh!
There was an error while loading. Please reload this page.
🏷️ Discussion Type
Bug
💬 Feature/Topic Area
Schedule & Cron Jobs
Discussion Details
An hourly scheduled workflow in my private repository on GitHub Free runs roughly every 3–8 hours, while manual runs succeed.
Schedule on default branch main:
By our September 30, 2026 inspection, 11 scheduled runs had succeeded since September 28. Examples on September 30 (UTC): 08:22, 15:51, and 20:44. The last completed in 55 seconds. We expected approximately hourly execution allowing normal delays, but see multi-hour gaps without corresponding errors in run history.
Checks performed:
I understand that scheduled runs may be delayed or dropped and exact timing is not guaranteed. Are repeated 3–8-hour gaps expected? Is there a known scheduler issue or account/repository restriction to investigate? What diagnostics or configuration changes would distinguish those causes? Would changing plans actually improve scheduling, or is an external scheduler needed for dependable hourly triggering?
I searched for similar reports and found https://github.com/orgs/community/discussions/208916. These are additional hourly/private-repository observations; I do not know whether the underlying cause is the same.
Private repository links and application data are omitted. I can provide run references privately through an appropriate support channel if needed.
All reactions