跳到正文
cron.surf
GitHub Actions 专用 · 即将上线

定时工作流,准点运行。

Actions 繁忙时,GitHub 的 schedule 触发可能延迟,甚至漏掉一次运行。cron.surf 将按你的时区在准确的那一分钟启动工作流,运行失败或根本没启动时发邮件提醒你。

上线时邮件通知你

上线时发一封邮件,别的不发。

.github/workflows/report.yml
  on:-   schedule:-     - cron: "0 17 * * *"  # 9am PST, 10am PDT+   workflow_dispatch:+   # cron.surf: 0 9 * * * America/Los_Angeles    jobs:    # unchanged
要改的就这几行,jobs 和 steps 都不用动。

定时运行为什么会晚

负载高时会延迟

“The schedule event can be delayed during periods of high loads of GitHub Actions workflow runs.” 每个整点最拥挤。

GitHub 文档

有时直接丢掉

“If the load is sufficiently high enough, some queued jobs may be dropped.” 漏跑了也不会有任何提示。

GitHub 文档

60 天后自动停用

公开仓库 60 天没有活动,定时工作流就会被停用。

GitHub 文档

workflow_dispatch 调用会立刻启动一次运行。cron.surf 会在你写的那一分钟替你发出调用,再一直跟到运行结束。

上线后怎么用

01

安装 App

选择账号和要覆盖的仓库,一个仓库也行。之后随时可以在 GitHub 设置里改。

02

改一行,推送

把 schedule 换成一行 # cron.surf: 注释,再加上 workflow_dispatch:。提交上会出现一个检查,显示下次运行时间。

第 2 步也可以交给你的 agent

上线后,把这句话贴给 Claude Code、Codex 或 Cursor。它会找出所有定时工作流,把时间换算成你的时区,然后开一个 PR。

Read https://cron.surf/github/agent.md and move this repo's scheduled workflows to cron.surf.

你会得到什么

准点到分钟

按你写的时间启动,支持任意 IANA 时区,夏令时自动处理。

每次运行都有人盯

每次运行都跟到出结果。运行失败或没启动,都会发邮件给你。

每次推送都检查

改动工作流的提交会收到一个检查:显示下次运行时间,或者指出那一行具体错在哪。

README 徽章

显示工作流的准点率,每次运行后更新。

计划定价

Free

$0
  • 公开仓库
  • 每个安装 20 个定时
  • 最快每 5 分钟一次
  • 邮件提醒和运行检查
上线通知我

Pro

$4 / 月
  • 也支持私有仓库
  • 每个安装 100 个定时
  • 最快每分钟一次
  • 包含 Free 的全部功能
上线通知我

常见问题

什么时候上线?

正在开发。在上面留下邮箱,上线当天会收到一封邮件。

App 会访问什么?

读取工作流文件(Contents: read),启动工作流(Actions: write),发布检查(Checks: write)。它只启动带有 # cron.surf: 注释的工作流,从不改你的代码。

会多花 Actions 分钟数吗?

不会比以前多。每次运行还是原来那个工作流,只是换了触发方式。

怎么改回去?

把 schedule 块加回去、删掉注释,或者直接卸载 App。

能用哪种 cron 语法?

标准五段 cron,和 GitHub 一样,可以另加时区。现在就可以用 cron.surf 工具检查任意表达式。