如何判断哪些活能交给定时任务,以及护栏怎么设
你刚跑通第一个定时任务,很爽,第二天就想把手上所有重复的活都设成自动的:每天整理文件、每周发周报、每月清理旧文件、客户超过 3 天没回就自动发消息跟进。
这里面有几件不该交出去。 而它们的共同点不是难,是出错的时候你不在场。
这一节讲两件事:怎么判断一件活该不该交给它自动跑,以及决定要交之后,护栏怎么设。
第一部分:该不该交出去
6 个问题,一条不过就先别设
对着要交出去的这件活,问自己:
一,它真的会重复吗? 每周至少一次。一个月一次的活,你设置和调试的时间比手动做还长。
二,输入稳定吗? 每次开始的时候,材料是不是都在同一个地方、同一种格式。今天从邮件里翻、明天从群里找的,自动化跑不了。
三,步骤每次都一样吗? 中间需要你临场看一眼再决定怎么走的,不能交。
四,结果能验收吗? 你能不能用一句话说清楚「什么样算干成了」。说不清楚,你就永远不知道它跑对没跑对。
五,失败了能恢复吗? 它跑错一次,你能不能撤回来。撤不回来的,慎重。
六,权限可控吗? 它要动的东西,范围能不能限死在一个你划定的小圈子里。
再加一条硬的:这套指令你必须已经手动跑通过至少 3 次。 没手动跑通就直接设成自动的,等于把一个没验证过的东西放进一个没人看着的地方。
有 4 类活,不管多重复都不要交
第一次联系客户。 措辞、时机、称呼,这些全是判断,错一次这个客户就没了。
审批和付款。 不用解释。
群发消息。 发出去收不回来。而且群发的错误是公开的,一个错别字全公司都看见。
删除文件。 这一条最要命,因为它平时看起来最安全。删除任务跑对了 20 次,第 21 次因为一个路径变量没取到值,删掉了整个上级目录。
这 4 类的共同点:一旦做错,代价是不可逆的、或者是对外的。 自动化真正的风险不在能力,在无人值守。你不在现场,出问题没人拦。

自动化真正省下的不是那几分钟
有个常见的算账方式:这活我手动做 5 分钟,一个月做 4 次,省 20 分钟,不值得。
这个账算错了。
它省的不是那 20 分钟操作时间,是「这件事还得我记着」的那份占用。一件你必须每周三想起来的事,会在你的后台一直挂着,处理正事的带宽就少一块。
所以判断值不值得,看的不是耗时,是它占不占你的脑子。 一件 2 分钟但你老忘的事,比一件 20 分钟但有固定流程的事更值得交出去。
第二部分:决定要交了,护栏怎么设
把生成和执行拆成两层
这是这一节最要紧的一条。
同一个任务里,「做出一份东西」和「把这份东西发出去或者写进去」是两个性质完全不同的动作。
前一个错了,你删掉重来。后一个错了,收不回来。
所以指令里要把它们切开:
完成分析之后,列出你打算发送的对象和消息正文,等待我确认。
未经我确认,不要发送任何消息、不要创建会议、不要修改任何外部文档。
大部分任务应该只跑到生成层为止。 它把东西做好放在那儿,你早上花 30 秒看一眼再决定发不发。这 30 秒换掉的是「它半夜把一份错的东西发给了客户」这种事故。

产出先落草稿区,不要直接落终点
即使不涉及对外发送,产出也不要直接写到最终位置。
给它一个专门的输出文件夹,所有产出先落那儿。你确认之后再挪到该去的地方。
这一条防的是一类很具体的事故:一份含薪资的表格被自动生成后直接放进了一个共享目录,而那个目录整个部门都能看。生成本身没错,错在它落地的位置。
权限给到刚好够用,不要给整个文件夹
给它读写权限的时候,很多人图省事,把整个「财务」文件夹交出去。
然后某一次它在日志里记录了处理过的文件路径,那份日志里就出现了全员薪资文件的完整路径。

正确的做法是给它一个专门的工作目录,结构分 3 层:
输入:这次要处理的材料的副本,不是原件。 输出:它的产物,等你确认。 日志:它的执行记录。
输入放副本不放原件,这一条别省。 原件在别的地方待着,它够不着,就不可能被改坏。

而且目录小还有一个好处:出问题的时候范围小,你一眼能看出哪儿不对。
删除类的任务,3 样都要写死
如果确实需要它做清理,范围、时间、文件类型,3 样必须同时说清楚,缺一样都会变成事故:
只处理「下载」这一个文件夹,不进入任何子文件夹以外的位置。
只处理修改时间超过 30 天的文件。
只处理扩展名为 .tmp 和 .dmg 的文件。
先把符合条件的文件复制到「待清理备份」文件夹,确认复制完成之后,再删除原文件。
任何一步失败,立即停止,不要继续。
顺序永远是先备份、后清理,不能反。 反过来的话,删完发现删错了,备份还没做。
而且第一次跑的时候,把最后那个删除动作去掉,只让它列出「我打算删这些」,你看一遍。看着没问题,下次再放开。
每一条任务都要有 3 样东西
设置完之后,检查这 3 样在不在,缺一样这条任务就不该上线:
有人负责。 就是你。你得知道这条任务是干什么的、什么时候跑、产物在哪。任务名写清楚,别叫「任务 1」,叫「每周五 17 点归档本周客户文件」,3 个月后你看名字就懂。
有告警。 它跑完要通知你,跑失败更要通知你。
有停用的办法。 你得知道去哪儿把它关掉。这个听起来是废话,直到某天它开始每 10 分钟发一次消息,而你在开会。