easynet.run · 全部问题场景

项目暂停后,怎样确认后台助手也停下来了?

负责人宣布项目暂停,几个助手却仍在各自窗口里抓取资料、生成图片,甚至发送消息。关闭聊天窗口并没有告诉远端任务停下来,项目群里的通知也没有自动到达每个执行入口。

已有工作流的暂停开关、计划任务管理和人工停止清单应先使用。只有少数工具时,逐个找负责人确认可能更可靠。需要统一协调时,首先要登记哪些任务真的在控制范围内。

通过 EasyNet 接入的操作可以关联到项目任务,业务调度器保存外部任务编号和实际状态。暂停时先禁止新的受管工作,再对已经运行的任务请求取消、等待收尾或转人工,不能一边取消一边继续派生任务。

暂停权限属于获准项目负责人,提供方反馈自己能确认的执行事实。发出取消请求只代表请求已发送;上游无法查询时应显示未确认,已发送邮件或已提交订单也不能被描述为已经撤回。

项目与任务的关联、计划任务开关和恢复检查仍要接好。未登记的外部助手需要人工通知;恢复时重新检查期限和批准,不应把原来的待办队列原样重放。

演练时保留一个无法取消的外部任务,再让另一个任务试图启动后续工作。负责人应看得见哪些已停、哪些仍待确认,新任务应被挡住。这样暂停才有可核查的范围,而不是一个令人安心但没有后续的按钮。

  1. 01

    暂停项目入口

    禁止新的受管子任务

  2. 02

    逐项请求处置

    取消、收尾或转人工

  3. 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;两项都发过取消也不能一起涂成已完成。

接入时的检查项
  • 暂停生效后不产生新的受管子任务,后台计划也受到约束。
  • 面板区分已停止、正在收尾与无法确认,不把发送取消算完成。
  • 恢复时已过期或撤回批准的任务不继续执行,已发生副作用有记录。
源码与接入资料