课程 329 / 365
90%
正文已完成
L329设计一个可重跑、可暂停的定时任务
交付触发、运行键、检查点、通知、补跑和停用组成的自动化运行契约。
可运营的定时任务除了 cron 表达式,还需要数据就绪检查、唯一运行键、状态机、超时、重试、失败通知、补跑范围和停用开关;每次运行都应留下可审计回执。
能为一个定时任务写出不会重复副作用且能安全恢复的完整方案。
核心概念
先把关键判断说清楚
运行键定义同一次业务动作
日期、租户和任务类型组成稳定键,重复触发时复用状态而不是再执行副作用。
检查点支持断点续跑
长任务按批次记录游标和已完成项,恢复时从可靠边界继续而不是全部重来。
补跑与实时运行要隔离
历史补跑设置独立范围和资源配额,避免占满当前周期任务。
案例拆解
每晚课程内容健康检查
检查365课的链接和字段需要40分钟,旧任务中断后会从头运行并重复发送告警。
- 01
运行键设为日期+content-check-v1,状态记录 pending/running/blocked/completed。
- 02
每50课保存游标和错误列表,中断后从最近完整批次续跑。
- 03
同一运行键只在最终状态发送一次摘要,历史补跑限制为单并发。
案例结果
任务可安全重启,不会重复通知,也不会让补跑抢占当晚检查。
提交前练习
现在轮到你
为一个每日至少处理100项的任务写运行契约。
内容会自动保存在当前设备
查看参考答案与评分标准
参考答案
每天按 Asia/Shanghai 时区2时启动,且上游须标记 ready。运行键由日期和租户组成;每100条保存游标,可重试错误两次,数据错误标记 blocked。完成或阻塞各通知一次;补跑需指定日期并限制单并发,紧急停用开关有审计。
评分标准
- 触发包含时区和数据条件
- 重复运行不会重复副作用
- 补跑、暂停和通知都可操作
本课收口 · 学习证据
完成,不等于随手打一个勾。
确认阅读、保存练习,再用 30 秒检查和一句话总结留下真实学习证据。
02完成本课练习0 / 4 项必填内容已填写
03通过理解检查约 30 秒
你现在更接近哪一种状态?
完成上面三项后,才能把本课记为已验证。
资料来源
继续核对与延伸阅读
本课内容最近更新于 。
- Building Effective Agents↗guide · 核对日期 2026-08-23
- Monitoring Distributed Systems↗reference · 核对日期 2026-08-23
- OpenTelemetry Signals↗official-docs · 核对日期 2026-08-23