虽然我使用过 GitHub Actions(带有推送触发器),但我对根据指定时间安排它们还是很陌生。简单:我有一个简单的 cronjob
使用以下触发器在 GitHub Actions 上运行:
on:
schedule:
- cron: "0 0 * * *"
这应该每天在 UTC 0h 运行,但我在日志中看到的是它至少在 1 小时后开始,在 01:04-01:11 UTC 之间。我知道 GitHub Actions 调度可能会延迟几分钟等,但这似乎很奇怪,因为它以相当一致的方式延迟了一个多小时现在一个半星期。任何人都知道如何解决这个问题?我知道这很小,但它有点唠叨,如果我需要在指定时间发生事件,我想了解一些事情。
最佳答案
当您使用 设置 GitHub 操作工作流程时日程安排 ,您实际上是在请求 GitHub 为您安排该工作流程。不能保证工作流会在那个时候准确运行。
在 GitHub 支持社区 (No assurance on scheduled jobs?) 的讨论中,Github 合作伙伴 @brightran说了很多次,触发调度的工作流时可能会有延迟:
Generally, the delay time is about 3 to 10 minutes. Sometimes, it may be more, even dozens of minutes, or more than one hour.
他还表示,如果延迟时间过长,当天可能不会触发预定的工作流。因此,不建议将 GitHub Actions 计划工作流用于需要执行保证的生产任务。
Source
关于GitHub Actions cronjob 触发器似乎在一个小时后触发,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67077120/