Cloudflare Cron 触发器
通过 cron 表达式定时 Workers — 在边缘运行清理、同步和周期任务。
为什么
Cron 触发器按计划运行 Workers 无需服务器 — 免费、无 EventBridge 成本,在数据附近的边缘执行。每 Worker 最多 5 个 cron 表达式。
Cloudflare 网络覆盖 125+ 国家的 330+ 城市,服务 20% 的互联网流量。Workers 冷启动为 0ms(基于 isolate),免费套餐覆盖每天 10 万请求。
何时使用
用于夜间 DB 备份、每小时缓存预热、日报生成和 token 刷新。避免 >30s CPU(Workers 限制)或需复杂编排的任务。
如何做
示例
常见问题
- ⚠Cron 仅 UTC — 无时区支持,把本地时间转 UTC 表达式
- ⚠每 Worker 最多 5 个 cron — 需更多?拆分多个 Worker
- ⚠失败无重试 — scheduled handler 出错须通过 Queues 自重试
最佳实践
- ✓异步工作用 ctx.waitUntil — 确保 cron handler 不提前终止
- ✓cron 任务幂等 — 同任务跑两次结果相同,重试/重复安全
- ✓记录开始/结束 + 耗时 — 无显式日志时 cron 失败静默
常见问题解答
什么是Cloudflare Cron 触发器?它解决什么问题?
通过 cron 表达式定时 Workers — 在边缘运行清理、同步和周期任务。 它可帮助开发者在不自建基础设施的前提下完成部署、存储与扩展,是云服务选型的核心参考。
如何在 5 分钟内上手Cloudflare Cron 触发器?
两步即可跑通:① 加到 wrangler.toml — [triggers] crons = ["0 * * * *", "0 2 * * *"];② 实现 — export default { async scheduled(event, env, ctx) {...} }。建议先用免费套餐验证流程,再接入生产环境。
Cloudflare Cron 触发器 最容易踩的坑是什么?
最高频的问题是:Cron 仅 UTC — 无时区支持,把本地时间转 UTC 表达式。建议在上线前用 checklist 逐项核对,并在 CI 中加入策略与配置扫描。
Cloudflare Cron 触发器 的最佳实践有哪些?
Cloudflare Cron 触发器 的最佳实践包括:异步工作用 ctx.waitUntil — 确保 cron handler 不提前终止;cron 任务幂等 — 同任务跑两次结果相同,重试/重复安全;记录开始/结束 + 耗时 — 无显式日志时 cron 失败静默。其中首条「异步工作用 ctx.waitUntil — 确保 cron handler 不提前终止」应作为团队默认规范写入 IaC 模板。
Cloudflare Cron 触发器 如何控制成本与避免账单意外?
三招防超支:① 为所有资源打 env/team 标签并启用账单告警;② 用预算阈值触发 Slack/邮件通知;③ 定期用 Cost Explorer 审查闲置资源并清理。Cloudflare Cron 触发器 多数提供免费套餐,先在免费额度内验证再放量。