← 返回文章列表

自动化显示成功,结果为什么不对:把任务状态设计清楚

按钮点完、请求发出、文件出现,都可能被误写成“任务成功”。本文用三条订单导入的例子,说明业务编号、部分完成、结果未知与安全重试怎样影响使用者判断,并给出任务记录模板。

直接结论:完成状态必须对应可核对的业务结果;部分完成和结果未知要单独显示,重试前先确认已经发生过什么。

适用读者:已有自动化流程,却经常遇到重复执行、漏单或难以追查结果的团队。

三条订单发出去,只落下两条

假设一批导入包含 O101、O102、O103 三张待创建的内部订单草稿。程序成功打开页面并上传了文件,目标系统接受 O101 和 O102,却因商品编号无效拒绝 O103。如果任务只按“上传动作没有报错”判断,界面就可能显示成功,但业务结果实际只完成了三分之二。

需要改变的是成功条件:三条来源记录都应有明确去向。接受两条、拒绝一条可以是一份准确的处理结果,却不能显示为“三条全部创建成功”。业务人员必须能找到失败的那一条及原因。

任务编号负责串起过程,业务编号负责找回记录

一次运行可以有批次编号 B0613-01,每条记录保留来源订单编号、目标草稿编号和本次操作。批次编号让人找到同一次运行的日志,订单编号帮助判断某一张单是否已经存在。只保存“第 3 行失败”不够,因为文件排序变化后,第 3 行可能已经是另一张单。

任务记录还应保留输入文件、启动时间、规则版本和操作结果。无需把所有客户资料复制进日志;保留足以定位和核对的信息即可,避免日志变成另一份无人管理的业务数据库。

用业务状态替代一个万能的绿色标记

三条订单导入可以采用的状态
状态表示什么操作员下一步
待校验尚未核对必填字段与编号查看缺失或冲突项
执行中正在提交获准的创建操作等待,避免另开一批重复提交
等待结果目标已受理,最终状态尚未确认查询结果或等待处理完成
全部完成每条记录均取得并核对目标结果查看结果清单
部分完成部分成功,其他有明确失败原因仅处理失败记录
结果未知中断后无法确定目标是否已处理先核查,暂不重复创建

API 的异步受理与处理完成也存在这种区别。状态命名应反映实际证据,而不是把“收到响应”直接翻译成“业务办完”。

重试要从失败处继续,不能让成功部分重做

在例子中,业务人员修正 O103 的商品编号后,重试范围应只有 O103。O101 和 O102 已经有目标草稿号,应继续保留成功记录。再次上传完整文件前,需要确认目标系统是否提供可靠的重复检测或明确的幂等约定,不能靠操作员记忆避免重复。

更棘手的是超时:提交 O103 后网络断开,目标系统可能已经创建,也可能尚未处理。应按来源业务编号查询,或进入人工核查。一个“重试”按钮必须说明重试哪些记录、可能发生什么;在结果未知时,不宜直接执行新的创建动作。

把核对做成输出的一部分

本批次的结果清单应明确列出:输入三条、创建成功两条、业务拒绝一条、结果未知零条,并逐条给出来源编号与目标编号。数量相加应等于输入数量,每条记录只能归入一个最终类别。对高影响的动作,还要核对金额、数量或状态等关键字段。

验收时故意测试“上传成功但一条被拒绝”“提交后断开”“重复执行同一批次”三种情况。用户看见的提示、实际目标结果和恢复操作一致,流程才具备日常可用性。

自动化任务与结果记录模板

批次编号:[唯一运行编号]
输入位置:[文件名或来源任务]
输入总数:[条数]
规则版本:[本次采用的规则标识]
明细表头:来源业务编号 | 操作类型 | 目标编号 | 状态 | 错误/核对说明 | 最后检查时间
汇总:全部成功数 + 明确失败数 + 结果未知数 = 输入总数
部分完成处理:保留成功记录,只重新处理已修复的失败项
结果未知处理:按来源编号查询目标;无法判断则人工核查
重试前说明:[重试范围、已有结果、重复检测方式]
验收场景:单条业务拒绝;提交后断开;重复执行同一批次

可直接选中文本,手动复制。

参考来源

遇到业务难题?我们一起寻找解决方案

告诉我们当前的问题与期望效果,为您提供切实可行的优化建议。

描述我的需求