MuleRun任务需启用持久化并手动暂停后才能恢复执行。步骤包括:一、控制台开启状态持久化;二、界面点击暂停保存快照;三、点击恢复并校验快照;四、通过API发送pause/resume请求;五、比对日志与数据库记录数验证一致性。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 免费无限量使用 DeepSeek R1 模型☜☜☜

如果您在使用MuleRun执行自动化任务过程中因网络波动、系统重启或手动干预导致任务中断,则任务默认不会自动续跑,需通过特定配置启用暂停与恢复能力。以下是实现MuleRun任务暂停后继续执行的操作步骤:
一、启用任务持久化存储
MuleRun依赖底层虚拟机的本地状态快照维持任务上下文,若未开启持久化,中断后所有运行时状态(如Bot内存变量、当前步骤索引、待处理队列偏移)将丢失。必须确保任务运行环境已激活状态保存机制。
1、登录MuleRun云端控制台,进入我的Bot管理页面。
2、找到目标Bot,点击右侧设置图标,打开高级配置面板。
3、在“执行策略”区域,勾选启用任务状态持久化选项。
4、确认弹窗中提示的存储位置为/mnt/persist/bot_state/,该路径由平台自动挂载且具备写入权限。
二、手动触发任务暂停
暂停操作会强制冻结当前Bot线程,并将完整执行栈、输入参数及中间结果序列化至持久化路径,为后续恢复提供数据基础。暂停必须通过控制台发起,不可依赖系统级kill命令。
1、在Bot运行中状态页,点击顶部导航栏的暂停执行按钮。
2、系统弹出确认框,显示当前已处理37条记录,剩余12条待处理,点击确定。
3、观察状态栏由“运行中”变为已暂停(含时间戳),同时日志末尾出现“[PERSIST] Snapshot saved to /mnt/persist/bot_state/20260317_140211.bin”。
三、从断点恢复任务
恢复操作将读取最近一次持久化快照,重建Bot运行时环境,跳过已成功执行的步骤,直接从上一个未完成动作继续推进,确保数据不重不漏。
1、在Bot状态为“已暂停”时,点击恢复执行按钮。
2、系统自动加载20260317_140211.bin快照文件,并校验其SHA256哈希值是否匹配原始写入值。
3、校验通过后,Bot重新启动并输出日志:“[RESUME] Resuming from step ‘upload_to_s3’ with batch_id=20260317-089”。
4、检查输出日志首行是否包含Resumed from checkpoint标识,确认恢复生效。
四、通过API远程控制暂停与恢复
适用于集成CI/CD流水线或外部调度系统,通过HTTP请求直接操作Bot生命周期,避免人工介入。该方式要求Bot已绑定有效API密钥且接口权限已启用。
1、构造POST请求至https://api.mulerun.ai/v1/bots/{bot_id}/pause,Header中携带Authorization: Bearer {valid_api_key}。
2、收到响应状态码202 Accepted及响应体{"status":"paused","checkpoint_id":"chk_20260317_140322"}。
3、构造POST请求至https://api.mulerun.ai/v1/bots/{bot_id}/resume,Body中传入{"checkpoint_id":"chk_20260317_140322"}。
4、验证返回字段resumed_at时间戳是否晚于pause时间戳,且state字段为"running"。
五、验证恢复后数据一致性
恢复执行不等于逻辑正确,需主动比对关键字段以确认断点衔接无误。平台不自动校验业务语义,仅保障执行流连续性。
1、在Bot完成恢复运行后,进入执行历史详情页,下载本次全量日志文件。
2、搜索关键词“resumed_from”,提取其后跟随的batch_id和record_offset数值。
3、登录目标数据库,执行SQL:SELECT COUNT(*) FROM processed_records WHERE batch_id = '20260317-089' AND offset >= 37;
4、核对SQL返回结果是否等于日志中显示的“本次新增写入12条”,二者必须完全相等。









