负责人宣布项目暂停,几个助手却仍在各自窗口里抓取资料、生成图片,甚至发送消息。关闭聊天窗口并没有告诉远端任务停下来,项目群里的通知也没有自动到达每个执行入口。
已有工作流的暂停开关、计划任务管理和人工停止清单应先使用。只有少数工具时,逐个找负责人确认可能更可靠。需要统一协调时,首先要登记哪些任务真的在控制范围内。
通过 EasyNet 接入的操作可以关联到项目任务,业务调度器保存外部任务编号和实际状态。暂停时先禁止新的受管工作,再对已经运行的任务请求取消、等待收尾或转人工,不能一边取消一边继续派生任务。
暂停权限属于获准项目负责人,提供方反馈自己能确认的执行事实。发出取消请求只代表请求已发送;上游无法查询时应显示未确认,已发送邮件或已提交订单也不能被描述为已经撤回。
项目与任务的关联、计划任务开关和恢复检查仍要接好。未登记的外部助手需要人工通知;恢复时重新检查期限和批准,不应把原来的待办队列原样重放。
演练时保留一个无法取消的外部任务,再让另一个任务试图启动后续工作。负责人应看得见哪些已停、哪些仍待确认,新任务应被挡住。这样暂停才有可核查的范围,而不是一个令人安心但没有后续的按钮。
- 01
暂停项目入口
禁止新的受管子任务
- 02
逐项请求处置
取消、收尾或转人工
- 03
保留未确认状态
不把取消已发送写成已停止
取消请求与终态不是一个字段
本地状态显示示例,不会停止真实任务。持久调度和上游取消需要单独接入。
本地示例 · python
project_paused = True
jobs = [
{"id": "a", "cancel_sent": True, "confirmed_state": "stopped"},
{"id": "b", "cancel_sent": True, "confirmed_state": None},
]
assert not (not project_paused) # admission of new work is closed
for job in jobs:
print(job["id"], job["confirmed_state"] or "unconfirmed")预期结果:a 显示 stopped,b 显示 unconfirmed;两项都发过取消也不能一起涂成已完成。
接入时的检查项
- 暂停生效后不产生新的受管子任务,后台计划也受到约束。
- 面板区分已停止、正在收尾与无法确认,不把发送取消算完成。
- 恢复时已过期或撤回批准的任务不继续执行,已发生副作用有记录。