Scheduled Job
定时任务
定时任务会在指定时间或固定周期启动后台任务。规则要说明延迟、错过时间或任务重叠时怎样处理。
time zone + schedule + missed-run deadline + overlap policy -> one job attempttimeZone: Asia/Taipei运行中则跳过✓time zone + schedule + missed-run deadline + overlap policy -> one job attemptJOB另一个例子
Kubernetes CronJob 会按 `Asia/Taipei` 时区,在每天 02:30 启动备份。上一次尚未完成时,它会跳过新的任务。它也会限制错过时间后最晚能延迟多久。备份程序会用原定运行时间作为防重复键。
主要部分
- 01计划与时区
- 02下次计划时间
- 03错过时间的处理规则
- 04任务重叠规则
- 05单次运行标识
- 06运行记录与告警
什么时候用
定期备份、报表、清理或其他与时间有关的任务,可以使用定时任务。要定义时区、延迟规则、重叠规则和安全重做方式。
什么时候不要用
不要假设定时任务一定精确到秒,或只会运行一次。如果任务由数据改动引起,就应该使用事件触发,而不是等待固定时间。
代码里的名称
time zone + schedule + missed-run deadline + overlap policy -> one job attempt 上线前要检查
检查接口约定、任何情况下都不能破坏的规则、授权与输入限制。测试重试、重复执行只生效一次、超时与部分失败。验证数据完整性、兼容性、监控、恢复与回到上一版。
预期结果:为这套系统设计或检查 定时任务 (Scheduled Job),并让数据保持正确、安全且容易维护。 用户场景:Kubernetes CronJob 会按 `Asia/Taipei` 时区,在每天 02:30 启动备份。上一次尚未完成时,它会跳过新的任务。它也会限制错过时间后最晚能延迟多久。备份程序会用原定运行时间作为防重复键。 技术概念或控制措施:定时任务 (Scheduled Job)。 适用理由:定期备份、报表、清理或其他与时间有关的任务,可以使用定时任务。要定义时区、延迟规则、重叠规则和安全重做方式。 不应使用的情况:不要假设定时任务一定精确到秒,或只会运行一次。如果任务由数据改动引起,就应该使用事件触发,而不是等待固定时间。 工程要求:定义输入、输出、接口约定,以及任何情况下都不能破坏的规则。说明授权与输入检查范围。定义失败、超时、重试和重复执行只生效一次的规则。也要定义数据迁移与兼容限制。 运营要求:加入监控信号与隐藏敏感数据的日志。设置容量上限并写好操作手册。测试恢复与回到上一版的流程。 验收标准:接口约定与失败路径测试通过。重试或部分失败时,数据与授权规则仍正确。性能上限、监控、恢复与回到上一版的方法都已验证。 证据与限制(证据边界):没有一份官方标准能涵盖全部内容。不同团队、平台或框架的用法可能不同。 待确认:程序运行环境、数据位置、流量形态、数据一致需求和安全边界。也要确认兼容周期、服务目标(SLO)与恢复上一版的限制。
检查这份需求
请 AI 编程助手检查当前如何使用 定时任务 (Scheduled Job)。 定义:定时任务会在指定时间或固定周期启动后台任务。规则要说明延迟、错过时间或任务重叠时怎样处理。 生产环境检查:检查接口约定、任何情况下都不能破坏的规则、授权与输入限制。测试重试、重复执行只生效一次、超时与部分失败。验证数据完整性、兼容性、监控、恢复与回到上一版。 修改程序前,先列出看到的证据、缺口、严重程度,以及最小且安全的修正。