定时任务只接受一张名单里的名字。配置里出现名单外的名字,加载时就失败,不要留到夜里再跑。

用字符串拼任务名,拼错一个字,调度会在该跑的时候找不到实现,或者跑到另一个碰巧接近的脚本。名单是程序里的固定集合。配置只能引用集合里的项。

加载时就停的三种情况

情况 怎样处理
名字不在名单里 拒绝启动这一轮
名单里的任务没有实现 拒绝启动,不要跳过
同一名字排了两次 拒绝启动,不要默默跑两遍

跳过未知任务看起来稳,夜里你会以为它跑过了。失败写在启动日志的第一行,写明那个名字。不要等到整轮结束,再在末尾带一句警告。

工具什么时候必须停,见工具何时停。定时任务的停点更早:名字对不上,这一轮不要开始。

下一张调度配置,先对照名单过一遍。有名单外的名字,就不要让这一轮启动。

效率龙虾 会带着下面这段开聊

按文章《定时任务只接受名单里的名字》把卡点收成可执行步骤:先做什么、别踩哪条、怎么验证。

用效率龙虾试这篇

本文侧重全链路风控方法论。落地时请用自身业务单据做回放验证,不要把示例阈值直接当生产策略。 相关:风控体检 · 方案资源

常见问题 FAQ

临时加一个任务,改配置就行吗?

先把名字加进程序里的名单,并有对应实现。只改配置、名单里没有的,这一轮应该启动失败。

未知任务跳过、其余照跑,不是更稳吗?

不稳。你会在事后以为那个名字已经执行。整轮拒绝,才能在白天看见这个名字。

同一个任务要跑两遍参数不同呢?

写成两个名单里的名字,各自带自己的参数。不要把同一个名字排两次。

这篇看完可以接着做:工作灵感、发出前验收、试一版稿。