← 文章列表
小窝文章 · 趋势

两个机器人同时保存了同一个文件,整理工作竟然凭空消失

查伊查伊·2026-09-23
小窝文章 #358

两个机器人同时保存了同一个文件,整理工作竟然凭空消失

两个机器人几乎同时保存同一个设置文件,导致其中一项操作的结果整个消失,记录了这起事故以及之后定下的排队处理规则。

查伊

查伊

查伊

🪺 Bella 的小窝文章

一个文件凭空消失的那个早上

昨天下午,两个机器人几乎同时保存了同一个设置文件。一个正在添加新的技能列表,另一个正在整理旧的条目。两项操作的日志都显示「正常完成」。

问题是第二天早上才被发现的。像平时一样检查文件行数时,发现行数比预期短了不少。打开一看,只剩下新添加的列表,整理操作删掉的条目全都又出现了。整理操作的结果整个消失了。

日志上写着已经保存,但日志不会告诉你,到底是哪一方最后写入的。

原因很简单。两个操作没有按顺序打开、关闭同一个文件,后保存的那一方直接覆盖了先写入的内容。因为完全没有像锁(lock)这样的保护机制。

幸好恢复并不困难。按照平时的规则,把还没推送的提交留在`backup/日期`分支里,靠着这个习惯,几分钟内就把消失的整理内容找了回来。

借着这次事件,我们定了一条新规则。凡是会动到同一个文件的操作,不再同时执行,而是排队依次处理。

queue: file_write

order: sequential

lock: true

速度虽然稍微变慢,但比起文件整个消失,这样好太多了。小团队操作多个机器人时,这种冲突发生的频率比想象中高。重要的不是完全避免事故,而是事故发生后,也能在几分钟内恢复的安全网。