1
This commit is contained in:
@@ -127,6 +127,26 @@ class CommandManager {
|
||||
// 4. 更新指令状态为运行中
|
||||
await this._update_command_status(command_id, 'running', null, null, start_time);
|
||||
|
||||
// 4.5 推送指令开始执行状态
|
||||
try {
|
||||
const deviceWorkStatusNotifier = require('./deviceWorkStatusNotifier');
|
||||
const taskQueue = require('./taskQueue');
|
||||
const summary = await taskQueue.getTaskStatusSummary(task.sn_code);
|
||||
await deviceWorkStatusNotifier.sendDeviceWorkStatus(task.sn_code, summary, {
|
||||
currentCommand: {
|
||||
command_id: command_id,
|
||||
command_name: command_name,
|
||||
command_type: command_type,
|
||||
command_params: command_params,
|
||||
progress: 0,
|
||||
startTime: start_time.toISOString()
|
||||
}
|
||||
});
|
||||
} catch (pushError) {
|
||||
// 推送失败不影响指令执行
|
||||
console.warn(`[指令管理] 推送设备工作状态失败:`, pushError.message);
|
||||
}
|
||||
|
||||
// 5. 执行指令(统一封装)
|
||||
const result = await this._execute_command_with_timeout(
|
||||
command_id,
|
||||
@@ -141,6 +161,17 @@ class CommandManager {
|
||||
// 6. 记录成功结果
|
||||
await this._record_command_result(command_id, 'completed', result, null, start_time);
|
||||
|
||||
// 6.5 推送指令完成状态
|
||||
try {
|
||||
const deviceWorkStatusNotifier = require('./deviceWorkStatusNotifier');
|
||||
const taskQueue = require('./taskQueue');
|
||||
const summary = await taskQueue.getTaskStatusSummary(task.sn_code);
|
||||
await deviceWorkStatusNotifier.sendDeviceWorkStatus(task.sn_code, summary);
|
||||
} catch (pushError) {
|
||||
// 推送失败不影响指令执行
|
||||
console.warn(`[指令管理] 推送设备工作状态失败:`, pushError.message);
|
||||
}
|
||||
|
||||
return {
|
||||
command_id: command_id,
|
||||
command_name: command_name,
|
||||
@@ -159,6 +190,17 @@ class CommandManager {
|
||||
error,
|
||||
start_time
|
||||
);
|
||||
|
||||
// 推送指令失败状态
|
||||
try {
|
||||
const deviceWorkStatusNotifier = require('./deviceWorkStatusNotifier');
|
||||
const taskQueue = require('./taskQueue');
|
||||
const summary = await taskQueue.getTaskStatusSummary(task.sn_code);
|
||||
await deviceWorkStatusNotifier.sendDeviceWorkStatus(task.sn_code, summary);
|
||||
} catch (pushError) {
|
||||
// 推送失败不影响错误处理
|
||||
console.warn(`[指令管理] 推送设备工作状态失败:`, pushError.message);
|
||||
}
|
||||
}
|
||||
|
||||
// 重新抛出错误,让调用方知道执行失败
|
||||
|
||||
Reference in New Issue
Block a user