先手动跑通三次
排期之前先手动做三次。写下输入、步骤,以及正确输出长什么样。如果每次输出形状都不同,这项任务还没准备好。
每日任务的产出形状应该每天一致,即使内容在变。形状一致,你才能三十秒看完一次结果。
先选时间,再写时区
每天通常是固定本地时间的 Cron,或 86400 秒的固定间隔。选一种,并写下时区,因为不带时区的排期只是猜测。
选输入已经就绪的时间,而不是你状态好的时间。数据源还没更新就跑的日报,看起来每天都是错的。
让失败看得见
每个定时任务都需要可见记录:上次运行、结果、下次运行。静默失败的任务比没有自动化更糟,因为它制造了没有产出的信心。
加一条简单规则:运行失败时,在你真的会打开的地方留下标记。对多数团队来说,就是输出所在的那个工作空间。
如果失败记录需要你主动去翻,它大概率不会被看到。把它放在输出旁边,比放进一个单独的日志页更有效。
观察前十次运行
前十天在运行发生时看一眼。多数问题会在这周出现:数据源晚发布、节假日、重复输入、格式变化。
之后改成每周看一次,而不是每天。目标不是永远盯着任务,而是知道哪些失败方式是真的、哪些可以忽略。
常见问题
每天应该几点跑?
在输入就绪之后、第一个需要结果的人开始工作之前。排期时把时区一起写下来。
运行失败会怎样?
它应该留下可见记录,并按你设置的重试策略处理。信任排期之前,先确认失败是看得见的。
一天能跑多次吗?
能。缩短间隔,或用包含多个时间点的 Cron。提高频率之前先观察是否重叠。
每日任务不该做什么?
不该在没有人复核的情况下做不可逆的改动。审批和发送保持人工,直到任务有稳定的历史。
下一步
拿一件你本周手动做过的任务,写下正确输出的形状,把它排到明天早上。