重复运行 WorkBuddy 整理附件,怎样只处理新文件
重复运行 WorkBuddy 整理附件时,只处理新文件需要一份持久的已处理台账。不能只告诉工具“别重复”,也不能靠文件名判断内容是否相同。本文交付输入清单、处理台账与第二次零重复的验收方案,不讲定时任务如何设置。
先决定何谓同一个输入
如果业务按文件内容去重,可以用 SHA-256 摘要作为内容身份;若同内容在不同目录代表不同业务件,则去重键还要包含业务编号。文件名和修改时间都不够可靠:同名可不同内容,复制会改变时间,内容修改也可能保留旧名称。
处理台账至少保存输入身份、原路径、内容摘要、规则版本、输出位置、结果摘要和状态。状态区分处理中、成功、失败,不应在开始处理时就写成功。规则升级后是否重处理旧输入,也要由规则版本决定,而不是永远跳过已有摘要。
| 输入 | 第一次 | 第二次相同输入 | 规则变化后 |
|---|---|---|---|
| 文件甲,摘要H1 | 处理并验收 | 跳过,记录命中台账 | 按新规则决定 |
| 文件乙,摘要H2 | 处理失败 | 允许受控重试 | 保留失败历史 |
| 新文件丙,摘要H3 | 不存在 | 处理 | 记录新产物 |
| 甲改内容,摘要H4 | 不存在 | 当新版本处理 | 保留H1关联 |
用三轮合成运行验证
第一轮只放甲、乙两个合成附件,输出到新目录并核对结果;第二轮不改变输入,期望成功项新增处理数为零;第三轮增加丙并修改甲内容,期望只处理新增身份。失败项另计,不能把重试失败项叫作重复处理成功项。
每轮报告扫描数、跳过数、待处理数、成功数、失败数,并检查输入去向闭合。台账写入失败时停止后续承诺,不能输出文件成功就假设台账已经保存。否则下一轮会再次处理同一个文件。
产物和台账要一同验收
台账记成功前,确认目标文件可打开、摘要存在且内容满足规则。先写临时产物,验证后再更新正式记录,可降低半成品被误标成功的概率。对会移动或删除源文件的流程,先用副本试跑,避免失败后源和结果都找不到。
并发执行时还需要协调同一输入的占用,单纯检查“台账里没有”并不防止两个进程同时开始。可以由单一调度器分配任务或使用具有唯一约束的存储;本文的清单流程不声称自动提供并发事务保证。
给 WorkBuddy 的具体要求
“读取 inputs 清单,只处理未在 ledger 中成功且规则版本匹配的输入;输出先到独立目录,核验后更新台账;每轮生成跳过原因与失败清单;不覆盖源文件。”这些是可检查的任务条件,当前客户端是否完整执行,必须用三轮演练确认。
官方说明支持文件处理,不等于已经保证增量去重或幂等。本文未运行 WorkBuddy,不把演练设计写成产品内置能力。正式交付时附上三轮清单和台账差异,接手者能看到第二轮究竟有没有重复生成。
常见问题
按文件名去重最快,为什么不用? 重名和改内容都会误判,除非业务明确保证名字唯一且不可复用。
第二轮没有新增文件是否就通过? 还应确认工具确实扫描了输入,并报告跳过证据,而不是根本没执行。
摘要相同就永远跳过吗? 规则版本或业务归属变化时可能需要重处理,需明确策略。
继续处理相关问题
相关入口:WorkBuddy 卡住后的处理。
官方依据与核对日期
核对日:2026-10-23。WorkBuddy 文件能力:官方提供文件查看与编辑入口;本文增量台账属于外部工程验收方案;Python 文件摘要:可计算内容摘要辅助识别字节是否变化。文中的流程、阈值和合成数据属于工程示例,不能代替当前账号、文件或运行环境的验收。
留言讨论
评论发布后会被人工复核,违规内容将被删除。
如果发表没有反应,可以前往联系我们告诉我们。