refactor(flow): 优化暂停任务逻辑以异步停止边缘端

- 将边缘端停止操作改为异步执行避免阻塞主线程
- 添加日志记录开始暂停操作
- 保持原有的暂停状态设置和时间戳更新逻辑
- 继续使用统一的日志记录和状态同步机制
This commit is contained in:
lixiaolong 2026-04-09 14:42:14 +08:00
parent 8065faebcb
commit d8684a7736

View File

@ -78,11 +78,16 @@ public class FlowControlService {
if (ctx.isPaused()) {
throw new GlobalException("任务已处于暂停状态");
}
edgeSystemService.stopAll(ctx.getTerminalId());
log.info("开始暂停");
ctx.setPaused(true);
ctx.setTerminalStatus(TerminalStatusEnum.RUNNING);
ctx.setStatus(TaskStatusEnum.PAUSED);
ctx.updateTimestamp();
// 异步停止所有边缘端
executor.execute(() -> {
edgeSystemService.stopAll(ctx.getTerminalId());
});
// 统一记录日志 + 设置上下文状态 + 数据库状态
taskInstHolder.syncStatus(instId, TaskStatusEnum.PAUSED);
taskThreadRegistry.interruptAll(instId);