refactor(flow): 优化暂停任务逻辑以异步停止边缘端
- 将边缘端停止操作改为异步执行避免阻塞主线程 - 添加日志记录开始暂停操作 - 保持原有的暂停状态设置和时间戳更新逻辑 - 继续使用统一的日志记录和状态同步机制
This commit is contained in:
parent
8065faebcb
commit
d8684a7736
@ -78,11 +78,16 @@ public class FlowControlService {
|
|||||||
if (ctx.isPaused()) {
|
if (ctx.isPaused()) {
|
||||||
throw new GlobalException("任务已处于暂停状态");
|
throw new GlobalException("任务已处于暂停状态");
|
||||||
}
|
}
|
||||||
edgeSystemService.stopAll(ctx.getTerminalId());
|
|
||||||
|
log.info("开始暂停");
|
||||||
ctx.setPaused(true);
|
ctx.setPaused(true);
|
||||||
ctx.setTerminalStatus(TerminalStatusEnum.RUNNING);
|
ctx.setTerminalStatus(TerminalStatusEnum.RUNNING);
|
||||||
ctx.setStatus(TaskStatusEnum.PAUSED);
|
ctx.setStatus(TaskStatusEnum.PAUSED);
|
||||||
ctx.updateTimestamp();
|
ctx.updateTimestamp();
|
||||||
|
// 异步停止所有边缘端
|
||||||
|
executor.execute(() -> {
|
||||||
|
edgeSystemService.stopAll(ctx.getTerminalId());
|
||||||
|
});
|
||||||
// 统一记录日志 + 设置上下文状态 + 数据库状态
|
// 统一记录日志 + 设置上下文状态 + 数据库状态
|
||||||
taskInstHolder.syncStatus(instId, TaskStatusEnum.PAUSED);
|
taskInstHolder.syncStatus(instId, TaskStatusEnum.PAUSED);
|
||||||
taskThreadRegistry.interruptAll(instId);
|
taskThreadRegistry.interruptAll(instId);
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user