feat: 将批量升级改为逐个主机顺序升级并添加超时控制
- 修改升级流程,从同时触发所有主机改为逐个主机顺序触发和轮询 - 添加 session_id 字段到 upgrade_log 表以区分不同主机的升级会话 - 引入 upgradePollTimeoutSeconds 配置项控制单个主机轮询超时时间 - 添加数据库迁移脚本以更新表结构和主键约束 - 实现运行组状态跟踪,防止同一组并发执行 - 改进错误处理和日志记录,为每个主机独立记录升级结果
This commit is contained in:
@@ -1,13 +1,16 @@
|
||||
const { v4: uuidv4 } = require('uuid');
|
||||
const db = require('./db');
|
||||
|
||||
const logHostResult = async (data) => {
|
||||
const entryId = uuidv4();
|
||||
const query = `
|
||||
INSERT INTO upgrade_log (
|
||||
uuid, start_time, roomtype_id, host_str, filename, status,
|
||||
uuid, session_id, start_time, roomtype_id, host_str, filename, status,
|
||||
end_time, file_type, config_version, firmware_version
|
||||
) VALUES ($1, $2, $3, $4, $5, $6, $7, $8, $9, $10)
|
||||
) VALUES ($1, $2, $3, $4, $5, $6, $7, $8, $9, $10, $11)
|
||||
`;
|
||||
const values = [
|
||||
entryId,
|
||||
data.uuid,
|
||||
data.start_time,
|
||||
data.roomtype_id,
|
||||
|
||||
Reference in New Issue
Block a user