@aiscene/aiserver 1.3.2 → 1.3.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,7 +1,4 @@
1
1
  import type { CallbackConfig } from '../config/schema.js';
2
- export declare function uploadReportFile(filePath: string, taskId: string, testName: string, testUrl: string | undefined, success: boolean, errorMessage: string | undefined, nodeId: string, config: CallbackConfig): Promise<unknown>;
3
- export declare function updateTaskStatusToServer(taskId: string, success: boolean, nodeId: string, errorMessage: string | null, config: CallbackConfig): Promise<{
4
- success: boolean;
5
- message: string;
6
- }>;
2
+ export declare function uploadReportFile(filePath: string, taskId: string, testName: string, testUrl: string | undefined, success: boolean, errorMessage: string | undefined, nodeId: string, config: CallbackConfig): Promise<boolean>;
3
+ export declare function updateTaskStatusToServer(taskId: string, success: boolean, nodeId: string, errorMessage: string | null, config: CallbackConfig): Promise<boolean>;
7
4
  //# sourceMappingURL=callback.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"callback.d.ts","sourceRoot":"","sources":["../../src/api/callback.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAwB1D,wBAAsB,gBAAgB,CACpC,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,MAAM,GAAG,SAAS,EAC3B,OAAO,EAAE,OAAO,EAChB,YAAY,EAAE,MAAM,GAAG,SAAS,EAChC,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,cAAc,GACrB,OAAO,CAAC,OAAO,CAAC,CAwDlB;AAED,wBAAsB,wBAAwB,CAC5C,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,OAAO,EAChB,MAAM,EAAE,MAAM,EACd,YAAY,EAAE,MAAM,GAAG,IAAI,EAC3B,MAAM,EAAE,cAAc,GACrB,OAAO,CAAC;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC,CAyChD"}
1
+ {"version":3,"file":"callback.d.ts","sourceRoot":"","sources":["../../src/api/callback.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAuC1D,wBAAsB,gBAAgB,CACpC,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,MAAM,GAAG,SAAS,EAC3B,OAAO,EAAE,OAAO,EAChB,YAAY,EAAE,MAAM,GAAG,SAAS,EAChC,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,cAAc,GACrB,OAAO,CAAC,OAAO,CAAC,CA6ElB;AAED,wBAAsB,wBAAwB,CAC5C,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,OAAO,EAChB,MAAM,EAAE,MAAM,EACd,YAAY,EAAE,MAAM,GAAG,IAAI,EAC3B,MAAM,EAAE,cAAc,GACrB,OAAO,CAAC,OAAO,CAAC,CA2DlB"}
@@ -4,113 +4,174 @@ import fs from 'fs';
4
4
  import path from 'path';
5
5
  import { createLogger } from '../core/logger.js';
6
6
  const logger = createLogger('Callback');
7
- async function axiosWithRetry(requestFn, maxRetries = 1, timeout = 15000) {
8
- for (let i = 0; i <= maxRetries; i++) {
9
- try {
10
- return await requestFn(timeout);
7
+ /**
8
+ * 判断上传报告响应是否成功
9
+ * 接口返回 200 且 data.code 或 data.success 表示成功
10
+ */
11
+ function isUploadResponseSuccess(response) {
12
+ if (response.status >= 200 && response.status < 300) {
13
+ const data = response.data;
14
+ if (data) {
15
+ // 兼容 { code: 200 } 或 { code: 0 } 或 { success: true } 格式
16
+ if (typeof data.code === 'number')
17
+ return data.code === 200 || data.code === 0;
18
+ if (typeof data.success === 'boolean')
19
+ return data.success === true;
11
20
  }
12
- catch (error) {
13
- if (i === maxRetries) {
14
- logger.warn(`Request failed after ${maxRetries + 1} attempts: ${error.message}`);
15
- return null;
16
- }
17
- logger.debug(`Request failed, retry ${i + 1}...`);
18
- await new Promise(r => setTimeout(r, 1000));
21
+ // 没有 code/success 字段,200 状态码视为成功
22
+ return true;
23
+ }
24
+ return false;
25
+ }
26
+ /**
27
+ * 判断状态同步响应是否成功
28
+ * 接口返回 200 且 data.code 或 data.success 表示成功;400 表示业务失败
29
+ */
30
+ function isStatusUpdateSuccess(response) {
31
+ if (response.status === 400)
32
+ return false;
33
+ if (response.status >= 200 && response.status < 300) {
34
+ const data = response.data;
35
+ if (data) {
36
+ if (typeof data.code === 'number')
37
+ return data.code === 200 || data.code === 0;
38
+ if (typeof data.success === 'boolean')
39
+ return data.success === true;
19
40
  }
41
+ return true;
20
42
  }
21
- return null;
43
+ return false;
22
44
  }
23
45
  export async function uploadReportFile(filePath, taskId, testName, testUrl, success, errorMessage, nodeId, config) {
24
46
  if (!taskId || taskId.startsWith('debug-')) {
25
47
  logger.info('Debug mode, skipping report upload');
26
- return;
48
+ return true;
27
49
  }
28
- try {
29
- const fileStats = fs.statSync(filePath);
30
- const fileName = path.basename(filePath);
31
- logger.info(`Uploading report: ${fileName} (${fileStats.size} bytes)`);
32
- let fileBuffer;
33
- if (fileStats.size > 50 * 1024 * 1024) {
34
- fileBuffer = await new Promise((resolve, reject) => {
35
- const chunks = [];
36
- const readStream = fs.createReadStream(filePath);
37
- readStream.on('data', (chunk) => chunks.push(Buffer.isBuffer(chunk) ? chunk : Buffer.from(chunk)));
38
- readStream.on('end', () => resolve(Buffer.concat(chunks)));
39
- readStream.on('error', reject);
50
+ const maxAttempts = 2; // 最多执行 2 次(初次 + 1次重试)
51
+ for (let attempt = 1; attempt <= maxAttempts; attempt++) {
52
+ try {
53
+ const fileStats = fs.statSync(filePath);
54
+ const fileName = path.basename(filePath);
55
+ if (attempt === 1) {
56
+ logger.info(`Uploading report: ${fileName} (${fileStats.size} bytes)`);
57
+ }
58
+ else {
59
+ logger.info(`Retrying report upload (attempt ${attempt}): ${fileName} (${fileStats.size} bytes)`);
60
+ }
61
+ let fileBuffer;
62
+ if (fileStats.size > 50 * 1024 * 1024) {
63
+ fileBuffer = await new Promise((resolve, reject) => {
64
+ const chunks = [];
65
+ const readStream = fs.createReadStream(filePath);
66
+ readStream.on('data', (chunk) => chunks.push(Buffer.isBuffer(chunk) ? chunk : Buffer.from(chunk)));
67
+ readStream.on('end', () => resolve(Buffer.concat(chunks)));
68
+ readStream.on('error', reject);
69
+ });
70
+ }
71
+ else {
72
+ fileBuffer = fs.readFileSync(filePath);
73
+ }
74
+ const formData = new FormData();
75
+ formData.append('taskId', taskId);
76
+ formData.append('nodeId', nodeId);
77
+ formData.append('testName', testName);
78
+ formData.append('testUrl', testUrl || '');
79
+ formData.append('success', success.toString());
80
+ if (!success && errorMessage) {
81
+ formData.append('errorMessage', errorMessage);
82
+ }
83
+ formData.append('file', fileBuffer, fileName);
84
+ const response = await axios.post(config.reportUploadUrl, formData, {
85
+ headers: {
86
+ 'User-Agent': 'aiserver/1.0',
87
+ 'Accept': '*/*',
88
+ 'Connection': 'close',
89
+ 'Expect': '',
90
+ },
91
+ timeout: 120000,
92
+ maxRedirects: 0,
40
93
  });
94
+ if (isUploadResponseSuccess(response)) {
95
+ logger.info(`Report upload successful (attempt ${attempt}): taskId=${taskId}`);
96
+ return true;
97
+ }
98
+ else {
99
+ logger.warn(`Report upload response indicates failure (attempt ${attempt}): HTTP ${response.status}, data=${JSON.stringify(response.data)}`);
100
+ if (attempt < maxAttempts) {
101
+ logger.info('Will retry report upload...');
102
+ await new Promise(r => setTimeout(r, 2000));
103
+ continue;
104
+ }
105
+ }
41
106
  }
42
- else {
43
- fileBuffer = fs.readFileSync(filePath);
44
- }
45
- const formData = new FormData();
46
- formData.append('taskId', taskId);
47
- formData.append('nodeId', nodeId);
48
- formData.append('testName', testName);
49
- formData.append('testUrl', testUrl || '');
50
- formData.append('success', success.toString());
51
- if (!success && errorMessage) {
52
- formData.append('errorMessage', errorMessage);
53
- }
54
- formData.append('file', fileBuffer, fileName);
55
- const requestFn = (timeout) => axios.post(config.reportUploadUrl, formData, {
56
- headers: {
57
- 'User-Agent': 'aiserver/1.0',
58
- 'Accept': '*/*',
59
- 'Connection': 'close',
60
- 'Expect': '',
61
- },
62
- timeout,
63
- maxRedirects: 0,
64
- });
65
- const response = await axiosWithRetry(requestFn, 1, 120000);
66
- if (response) {
67
- logger.info('Report upload successful');
68
- return response.data;
107
+ catch (error) {
108
+ logger.error(`Report upload error (attempt ${attempt}): ${error.message}`);
109
+ if (attempt < maxAttempts) {
110
+ logger.info('Will retry report upload...');
111
+ await new Promise(r => setTimeout(r, 2000));
112
+ continue;
113
+ }
69
114
  }
70
115
  }
71
- catch (error) {
72
- logger.error(`Report upload failed: ${error.message}`);
73
- throw error;
74
- }
116
+ logger.error(`Report upload failed after ${maxAttempts} attempts: taskId=${taskId}, filePath=${filePath}`);
117
+ return false;
75
118
  }
76
119
  export async function updateTaskStatusToServer(taskId, success, nodeId, errorMessage, config) {
77
120
  if (!taskId || taskId.startsWith('debug-')) {
78
121
  logger.info('Debug mode, skipping status update');
79
- return { success: true, message: 'Debug mode' };
122
+ return true;
80
123
  }
81
- try {
82
- const url = `${config.statusUpdateUrl}/${taskId}/result`;
83
- logger.info(`Updating task status on server: PUT ${url} (success=${success}, nodeId=${nodeId})`);
84
- // 与参考项目一致:params 中只传 nodeId, success, result, errorMessage
85
- // result 为简单字符串,不传 JSON 对象
86
- const params = {
87
- nodeId,
88
- success: success.toString(),
89
- result: success ? 'success' : 'failed',
90
- };
91
- if (errorMessage && !success) {
92
- params.errorMessage = errorMessage.length > 300 ? errorMessage.substring(0, 300) + '...(truncated)' : errorMessage;
93
- }
94
- const response = await axios.put(url, null, {
95
- params,
96
- timeout: 10000,
97
- });
98
- if (response.status >= 200 && response.status < 300) {
99
- logger.info(`Task status updated on server: ${taskId} -> ${success ? 'success' : 'failed'}, HTTP ${response.status}`);
100
- return { success: true, message: 'Status updated' };
101
- }
102
- logger.warn(`Task status update unexpected response: HTTP ${response.status}`);
103
- return { success: false, message: `HTTP ${response.status}` };
124
+ const url = `${config.statusUpdateUrl}/${taskId}/result`;
125
+ const maxAttempts = 2; // 最多执行 2 次(初次 + 1次重试)
126
+ const params = {
127
+ nodeId,
128
+ success: success.toString(),
129
+ result: success ? 'success' : 'failed',
130
+ };
131
+ if (errorMessage && !success) {
132
+ params.errorMessage = errorMessage.length > 300 ? errorMessage.substring(0, 300) + '...(truncated)' : errorMessage;
104
133
  }
105
- catch (error) {
106
- const axiosErr = error;
107
- if (axiosErr.response) {
108
- logger.error(`Task status update failed: HTTP ${axiosErr.response.status} - ${JSON.stringify(axiosErr.response.data)}`);
134
+ for (let attempt = 1; attempt <= maxAttempts; attempt++) {
135
+ try {
136
+ if (attempt === 1) {
137
+ logger.info(`Updating task status on server: PUT ${url} (success=${success}, nodeId=${nodeId})`);
138
+ }
139
+ else {
140
+ logger.info(`Retrying task status update (attempt ${attempt}): PUT ${url}`);
141
+ }
142
+ const response = await axios.put(url, null, {
143
+ params,
144
+ timeout: 10000,
145
+ });
146
+ if (isStatusUpdateSuccess(response)) {
147
+ logger.info(`Task status updated on server (attempt ${attempt}): ${taskId} -> ${success ? 'success' : 'failed'}`);
148
+ return true;
149
+ }
150
+ else {
151
+ logger.warn(`Task status update response indicates failure (attempt ${attempt}): HTTP ${response.status}, data=${JSON.stringify(response.data)}`);
152
+ if (attempt < maxAttempts) {
153
+ logger.info('Will retry task status update...');
154
+ await new Promise(r => setTimeout(r, 2000));
155
+ continue;
156
+ }
157
+ }
109
158
  }
110
- else {
111
- logger.error(`Task status update failed: ${axiosErr.message || error.message}`);
159
+ catch (error) {
160
+ const axiosErr = error;
161
+ if (axiosErr.response) {
162
+ logger.error(`Task status update failed (attempt ${attempt}): HTTP ${axiosErr.response.status} - ${JSON.stringify(axiosErr.response.data)}`);
163
+ }
164
+ else {
165
+ logger.error(`Task status update failed (attempt ${attempt}): ${axiosErr.message || error.message}`);
166
+ }
167
+ if (attempt < maxAttempts) {
168
+ logger.info('Will retry task status update...');
169
+ await new Promise(r => setTimeout(r, 2000));
170
+ continue;
171
+ }
112
172
  }
113
- return { success: false, message: error.message };
114
173
  }
174
+ logger.error(`Task status update failed after ${maxAttempts} attempts: taskId=${taskId}`);
175
+ return false;
115
176
  }
116
177
  //# sourceMappingURL=callback.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"callback.js","sourceRoot":"","sources":["../../src/api/callback.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"callback.js","sourceRoot":"","sources":["../../src/api/callback.ts"],"names":[],"mappings":"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"}
@@ -67,19 +67,113 @@ function getAgentDump(executor) {
67
67
  }
68
68
  return { dump: dumpData, executionDump: executionDumpData };
69
69
  }
70
+ // 标记是否已发送结果,防止重复发送
71
+ let resultSent = false;
72
+ // 保存 executor 引用,供 SIGTERM 等信号处理时获取已生成的报告
73
+ let currentExecutor = null;
74
+ /**
75
+ * 安全发送结果给主进程,保证只发一次
76
+ */
77
+ async function safeSendResult(result) {
78
+ if (resultSent) {
79
+ console.log('[Worker] Result already sent, skipping duplicate');
80
+ return;
81
+ }
82
+ resultSent = true;
83
+ await sendResult(result);
84
+ }
85
+ /**
86
+ * 从当前 executor 中尝试获取已生成的报告文件路径和 dump 数据
87
+ */
88
+ function extractExistingResult() {
89
+ const result = {};
90
+ try {
91
+ if (currentExecutor) {
92
+ // 尝试从 executor 获取 agent
93
+ let agent = null;
94
+ if (typeof currentExecutor.getAgent === 'function') {
95
+ agent = currentExecutor.getAgent();
96
+ }
97
+ if (!agent) {
98
+ agent = currentExecutor.agent;
99
+ }
100
+ if (agent) {
101
+ // 获取已生成的报告文件路径
102
+ if (agent.reportFile) {
103
+ result.reportFile = agent.reportFile;
104
+ }
105
+ // 获取 dump 数据
106
+ if (typeof agent.dumpDataString === 'function') {
107
+ result.dump = agent.dumpDataString({ inlineScreenshots: true }) || '';
108
+ }
109
+ else if (typeof agent.dump === 'function') {
110
+ result.dump = agent.dump({ inlineScreenshots: true }) || '';
111
+ }
112
+ // 获取 executionDump
113
+ if (typeof agent.getExecutionDump === 'function') {
114
+ result.executionDump = agent.getExecutionDump();
115
+ }
116
+ else if (typeof agent.reportHTMLString === 'function') {
117
+ const reportHTML = agent.reportHTMLString({ inlineScreenshots: true });
118
+ if (reportHTML) {
119
+ result.executionDump = { reportHTML };
120
+ }
121
+ }
122
+ }
123
+ }
124
+ }
125
+ catch (e) {
126
+ console.error('[Worker] Failed to extract existing result:', e.message);
127
+ }
128
+ return result;
129
+ }
70
130
  async function runWorker() {
71
131
  const config = JSON.parse(process.env.WORKER_CONFIG || '{}');
72
- // 注册未捕获异常处理
73
- process.on('uncaughtException', (error) => {
132
+ // 注册未捕获异常处理 - 也必须发送结果,否则主进程收不到任何信息
133
+ process.on('uncaughtException', async (error) => {
74
134
  console.error('[Worker] Uncaught exception:', error.message);
75
135
  console.error(error.stack);
136
+ const existing = extractExistingResult();
137
+ await safeSendResult({
138
+ success: false,
139
+ errorMessage: `Uncaught exception: ${error.message}`,
140
+ reportFile: existing.reportFile,
141
+ dump: existing.dump,
142
+ executionDump: existing.executionDump,
143
+ });
144
+ process.exit(1);
76
145
  });
77
- process.on('unhandledRejection', (reason) => {
146
+ process.on('unhandledRejection', async (reason) => {
78
147
  console.error('[Worker] Unhandled rejection:', reason);
148
+ const message = reason instanceof Error ? reason.message : String(reason);
149
+ const existing = extractExistingResult();
150
+ await safeSendResult({
151
+ success: false,
152
+ errorMessage: `Unhandled rejection: ${message}`,
153
+ reportFile: existing.reportFile,
154
+ dump: existing.dump,
155
+ executionDump: existing.executionDump,
156
+ });
157
+ process.exit(1);
158
+ });
159
+ // 注册 SIGTERM 信号处理 - 超时时主进程发送 SIGTERM,给 Worker 收尾机会
160
+ // 尝试获取已生成的报告文件,确保超时也能上传已有报告
161
+ process.on('SIGTERM', async () => {
162
+ console.log('[Worker] Received SIGTERM, sending result before exit');
163
+ const existing = extractExistingResult();
164
+ await safeSendResult({
165
+ success: false,
166
+ errorMessage: 'Worker terminated by SIGTERM (task timeout)',
167
+ reportFile: existing.reportFile,
168
+ dump: existing.dump,
169
+ executionDump: existing.executionDump,
170
+ });
171
+ process.exit(0);
79
172
  });
80
173
  try {
81
174
  console.log('[Worker] Starting execution...');
82
175
  const executor = ExecutorFactory.create(config.type);
176
+ currentExecutor = executor; // 保存引用,供信号处理时获取已生成的报告
83
177
  const result = await executor.execute(config);
84
178
  console.log('[Worker] Execution completed, sending result...');
85
179
  // AndroidExecutor.execute() 返回结果中已经包含 dump 数据
@@ -92,7 +186,7 @@ async function runWorker() {
92
186
  dumpData = agentDump.dump || dumpData;
93
187
  executionDumpData = executionDumpData || agentDump.executionDump;
94
188
  }
95
- await sendResult({
189
+ await safeSendResult({
96
190
  success: result.success,
97
191
  reportFile: result.reportFile,
98
192
  logFile: result.logFile,
@@ -126,16 +220,16 @@ async function runWorker() {
126
220
  // 从 error 中尝试获取 executor
127
221
  const executor = error?.executor || error?.agent;
128
222
  if (executor) {
129
- const result = getAgentDump(executor);
130
- dumpData = dumpData || result.dump;
131
- executionDumpData = executionDumpData || result.executionDump;
223
+ const dumpResult = getAgentDump(executor);
224
+ dumpData = dumpData || dumpResult.dump;
225
+ executionDumpData = executionDumpData || dumpResult.executionDump;
132
226
  }
133
227
  }
134
228
  catch (dumpError) {
135
229
  console.error('[Worker] Failed to get dump data on error:', dumpError.message);
136
230
  }
137
231
  console.log('[Worker] Sending error result...');
138
- await sendResult({
232
+ await safeSendResult({
139
233
  success: false,
140
234
  errorMessage,
141
235
  reportFile,
@@ -1 +1 @@
1
- {"version":3,"file":"worker-entry.js","sourceRoot":"","sources":["../../src/executor/worker-entry.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAKxD,KAAK,UAAU,UAAU,CAAC,MAOzB;IACC,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;QACjB,IAAI,CAAC;YACH,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;gBAC1C,MAAM,OAAO,GAAG,UAAU,CAAC,GAAG,EAAE;oBAC9B,OAAO,CAAC,KAAK,CAAC,2CAA2C,CAAC,CAAC;oBAC3D,OAAO,EAAE,CAAC,CAAC,QAAQ;gBACrB,CAAC,EAAE,IAAI,CAAC,CAAC;gBAET,OAAO,CAAC,IAAI,EAAE,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,EAAE;oBAC7B,YAAY,CAAC,OAAO,CAAC,CAAC;oBACtB,IAAI,GAAG,EAAE,CAAC;wBACR,OAAO,CAAC,KAAK,CAAC,+BAA+B,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC;oBAC9D,CAAC;oBACD,OAAO,EAAE,CAAC;gBACZ,CAAC,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,OAAO,CAAC,KAAK,CAAC,sBAAsB,EAAG,CAAW,CAAC,OAAO,CAAC,CAAC;QAC9D,CAAC;IACH,CAAC;AACH,CAAC;AAED;;GAEG;AACH,SAAS,YAAY,CAAC,QAAa;IACjC,IAAI,QAAQ,GAAG,EAAE,CAAC;IAClB,IAAI,iBAAiB,GAAY,SAAS,CAAC;IAE3C,IAAI,CAAC;QACH,yCAAyC;QACzC,IAAI,KAAK,GAAG,IAAI,CAAC;QACjB,IAAI,OAAO,QAAQ,CAAC,QAAQ,KAAK,UAAU,EAAE,CAAC;YAC5C,KAAK,GAAG,QAAQ,CAAC,QAAQ,EAAE,CAAC;QAC9B,CAAC;QACD,2CAA2C;QAC3C,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC;QACzB,CAAC;QAED,IAAI,KAAK,EAAE,CAAC;YACV,qDAAqD;YACrD,IAAI,OAAO,KAAK,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;gBACrC,QAAQ,GAAG,KAAK,CAAC,IAAI,CAAC,EAAE,iBAAiB,EAAE,IAAI,EAAE,CAAC,IAAI,EAAE,CAAC;YAC3D,CAAC;iBAAM,IAAI,OAAO,KAAK,CAAC,cAAc,KAAK,UAAU,EAAE,CAAC;gBACtD,QAAQ,GAAG,KAAK,CAAC,cAAc,CAAC,EAAE,iBAAiB,EAAE,IAAI,EAAE,CAAC,IAAI,EAAE,CAAC;YACrE,CAAC;YAED,iCAAiC;YACjC,IAAI,OAAO,KAAK,CAAC,gBAAgB,KAAK,UAAU,EAAE,CAAC;gBACjD,iBAAiB,GAAG,KAAK,CAAC,gBAAgB,EAAE,CAAC;YAC/C,CAAC;iBAAM,IAAI,OAAO,KAAK,CAAC,gBAAgB,KAAK,UAAU,EAAE,CAAC;gBACxD,gBAAgB;gBAChB,MAAM,UAAU,GAAG,KAAK,CAAC,gBAAgB,CAAC,EAAE,iBAAiB,EAAE,IAAI,EAAE,CAAC,CAAC;gBACvE,IAAI,UAAU,EAAE,CAAC;oBACf,iBAAiB,GAAG,EAAE,UAAU,EAAE,CAAC;gBACrC,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAAC,OAAO,SAAS,EAAE,CAAC;QACnB,OAAO,CAAC,KAAK,CAAC,mCAAmC,EAAG,SAAmB,CAAC,OAAO,CAAC,CAAC;IACnF,CAAC;IAED,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,aAAa,EAAE,iBAAiB,EAAE,CAAC;AAC9D,CAAC;AAED,KAAK,UAAU,SAAS;IACtB,MAAM,MAAM,GAAkB,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,aAAa,IAAI,IAAI,CAAC,CAAC;IAE5E,YAAY;IACZ,OAAO,CAAC,EAAE,CAAC,mBAAmB,EAAE,CAAC,KAAK,EAAE,EAAE;QACxC,OAAO,CAAC,KAAK,CAAC,8BAA8B,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;QAC7D,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IAC7B,CAAC,CAAC,CAAC;IAEH,OAAO,CAAC,EAAE,CAAC,oBAAoB,EAAE,CAAC,MAAM,EAAE,EAAE;QAC1C,OAAO,CAAC,KAAK,CAAC,+BAA+B,EAAE,MAAM,CAAC,CAAC;IACzD,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC;QACH,OAAO,CAAC,GAAG,CAAC,gCAAgC,CAAC,CAAC;QAC9C,MAAM,QAAQ,GAAG,eAAe,CAAC,MAAM,CAAC,MAAM,CAAC,IAAoB,CAAC,CAAC;QACrE,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QAC9C,OAAO,CAAC,GAAG,CAAC,iDAAiD,CAAC,CAAC;QAE/D,8CAA8C;QAC9C,gCAAgC;QAChC,IAAI,QAAQ,GAAG,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC;QACjC,IAAI,iBAAiB,GAAY,MAAM,CAAC,aAAa,CAAC;QAEtD,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,kCAAkC;YAClC,MAAM,SAAS,GAAG,YAAY,CAAC,QAAQ,CAAC,CAAC;YACzC,QAAQ,GAAG,SAAS,CAAC,IAAI,IAAI,QAAQ,CAAC;YACtC,iBAAiB,GAAG,iBAAiB,IAAI,SAAS,CAAC,aAAa,CAAC;QACnE,CAAC;QAED,MAAM,UAAU,CAAC;YACf,OAAO,EAAE,MAAM,CAAC,OAAO;YACvB,UAAU,EAAE,MAAM,CAAC,UAAU;YAC7B,OAAO,EAAE,MAAM,CAAC,OAAO;YACvB,YAAY,EAAE,MAAM,CAAC,YAAY;YACjC,IAAI,EAAE,QAAQ;YACd,aAAa,EAAE,iBAAiB;SACjC,CAAC,CAAC;QAEH,OAAO,CAAC,GAAG,CAAC,8BAA8B,CAAC,CAAC;QAC5C,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,YAAY,GAAG,eAAe,CAAC;QACnC,IAAI,UAA8B,CAAC;QACnC,IAAI,QAAQ,GAAG,EAAE,CAAC;QAClB,IAAI,iBAAiB,GAAY,SAAS,CAAC;QAE3C,IAAI,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;YACvC,IAAI,SAAS,IAAI,KAAK;gBAAE,YAAY,GAAI,KAAe,CAAC,OAAO,CAAC;YAChE,IAAI,YAAY,IAAI,KAAK;gBAAE,UAAU,GAAI,KAAa,CAAC,UAAU,CAAC;YAClE,IAAI,MAAM,IAAI,KAAK;gBAAE,QAAQ,GAAI,KAAa,CAAC,IAAI,IAAI,EAAE,CAAC;YAC1D,eAAe;YACf,OAAO,CAAC,KAAK,CAAC,2BAA2B,EAAE,YAAY,CAAC,CAAC;YACzD,IAAI,KAAK,YAAY,KAAK,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;gBAC1C,OAAO,CAAC,KAAK,CAAC,iBAAiB,EAAE,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;YACnF,CAAC;QACH,CAAC;QAED,mBAAmB;QACnB,IAAI,CAAC;YACH,yBAAyB;YACzB,MAAM,QAAQ,GAAI,KAAa,EAAE,QAAQ,IAAK,KAAa,EAAE,KAAK,CAAC;YACnE,IAAI,QAAQ,EAAE,CAAC;gBACb,MAAM,MAAM,GAAG,YAAY,CAAC,QAAQ,CAAC,CAAC;gBACtC,QAAQ,GAAG,QAAQ,IAAI,MAAM,CAAC,IAAI,CAAC;gBACnC,iBAAiB,GAAG,iBAAiB,IAAI,MAAM,CAAC,aAAa,CAAC;YAChE,CAAC;QACH,CAAC;QAAC,OAAO,SAAS,EAAE,CAAC;YACnB,OAAO,CAAC,KAAK,CAAC,4CAA4C,EAAG,SAAmB,CAAC,OAAO,CAAC,CAAC;QAC5F,CAAC;QAED,OAAO,CAAC,GAAG,CAAC,kCAAkC,CAAC,CAAC;QAChD,MAAM,UAAU,CAAC;YACf,OAAO,EAAE,KAAK;YACd,YAAY;YACZ,UAAU;YACV,IAAI,EAAE,QAAQ;YACd,aAAa,EAAE,iBAAiB;SACjC,CAAC,CAAC;QAEH,OAAO,CAAC,GAAG,CAAC,8CAA8C,CAAC,CAAC;QAC5D,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC;AAED,cAAc;AACd,IAAI,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC;IACtC,OAAO,CAAC,GAAG,CAAC,iCAAiC,CAAC,CAAC;IAC/C,SAAS,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE;QACtB,OAAO,CAAC,KAAK,CAAC,uBAAuB,EAAE,GAAG,CAAC,CAAC;QAC5C,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC,CAAC,CAAC;AACL,CAAC"}
1
+ {"version":3,"file":"worker-entry.js","sourceRoot":"","sources":["../../src/executor/worker-entry.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAEA;;;;;;;;;;GAUG;AAiBH,cAAM,QAAQ;IACZ,OAAO,CAAC,aAAa,CAAuB;IAC5C,OAAO,CAAC,YAAY,CAAkB;;IAMhC,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IA0C5B,OAAO,CAAC,mBAAmB;IAmGrB,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;CAqBhC;AA0BD,OAAO,EAAE,QAAQ,EAAE,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAEA;;;;;;;;;;GAUG;AAiBH,cAAM,QAAQ;IACZ,OAAO,CAAC,aAAa,CAAuB;IAC5C,OAAO,CAAC,YAAY,CAAkB;;IAMhC,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IA0C5B,OAAO,CAAC,mBAAmB;IA4GrB,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;CAqBhC;AA0BD,OAAO,EAAE,QAAQ,EAAE,CAAC"}
package/dist/index.js CHANGED
@@ -77,30 +77,38 @@ class AIServer {
77
77
  }
78
78
  });
79
79
  // Handle task completion - upload report and update status
80
+ // 报告上传和状态同步必须执行,失败时各自已内置重试,此处记录最终结果
80
81
  eventBus.onEvent('task:completed', async (payload) => {
81
82
  const data = payload.data;
82
- try {
83
- // Upload report file
84
- if (data.reportFile) {
85
- await uploadReportFile(data.reportFile, data.taskId, `task-${data.taskId}`, undefined, data.success, data.errorMessage, config.task.nodeId, config.callback);
83
+ // Upload report file
84
+ if (data.reportFile) {
85
+ const uploadOk = await uploadReportFile(data.reportFile, data.taskId, `task-${data.taskId}`, undefined, data.success, data.errorMessage, config.task.nodeId, config.callback);
86
+ if (!uploadOk) {
87
+ logger.error(`Report upload ultimately failed after retries: taskId=${data.taskId}, reportFile=${data.reportFile}`);
86
88
  }
87
- // Update task status on server
88
- await updateTaskStatusToServer(data.taskId, data.success, config.task.nodeId, data.errorMessage || null, config.callback);
89
89
  }
90
- catch (error) {
91
- logger.error(`Task completion callback error: ${error.message}`);
90
+ else {
91
+ logger.warn(`No report file for completed task: taskId=${data.taskId}`);
92
+ }
93
+ // Update task status on server
94
+ const statusOk = await updateTaskStatusToServer(data.taskId, data.success, config.task.nodeId, data.errorMessage || null, config.callback);
95
+ if (!statusOk) {
96
+ logger.error(`Task status update ultimately failed after retries: taskId=${data.taskId}`);
92
97
  }
93
98
  });
94
99
  eventBus.onEvent('task:failed', async (payload) => {
95
100
  const data = payload.data;
96
- try {
97
- if (data.reportFile) {
98
- await uploadReportFile(data.reportFile, data.taskId, `task-${data.taskId}`, undefined, false, data.errorMessage, config.task.nodeId, config.callback);
101
+ // Upload report file (even on failure, report may exist)
102
+ if (data.reportFile) {
103
+ const uploadOk = await uploadReportFile(data.reportFile, data.taskId, `task-${data.taskId}`, undefined, false, data.errorMessage, config.task.nodeId, config.callback);
104
+ if (!uploadOk) {
105
+ logger.error(`Report upload ultimately failed after retries: taskId=${data.taskId}, reportFile=${data.reportFile}`);
99
106
  }
100
- await updateTaskStatusToServer(data.taskId, false, config.task.nodeId, data.errorMessage || null, config.callback);
101
107
  }
102
- catch (error) {
103
- logger.error(`Task failure callback error: ${error.message}`);
108
+ // Update task status on server
109
+ const statusOk = await updateTaskStatusToServer(data.taskId, false, config.task.nodeId, data.errorMessage || null, config.callback);
110
+ if (!statusOk) {
111
+ logger.error(`Task status update ultimately failed after retries: taskId=${data.taskId}`);
104
112
  }
105
113
  });
106
114
  // Device offline events
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"scheduler.d.ts","sourceRoot":"","sources":["../../src/task/scheduler.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,UAAU,EAAE,cAAc,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAChF,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAIjD,qBAAa,aAAa;IACxB,OAAO,CAAC,YAAY,CAAwC;IAC5D,OAAO,CAAC,aAAa,CAAc;IACnC,OAAO,CAAC,MAAM,CAAc;IAC5B,OAAO,CAAC,cAAc,CAAkB;IACxC,OAAO,CAAC,QAAQ,CAAY;IAEtB,KAAK,CAAC,MAAM,EAAE,UAAU,EAAE,cAAc,EAAE,cAAc,EAAE,QAAQ,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;IAQlG,aAAa,IAAI,OAAO;IAIxB,QAAQ,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI;IAS1B,OAAO,CAAC,WAAW;IAgGnB,OAAO,CAAC,gBAAgB;IAsBxB,OAAO,CAAC,mBAAmB;IAsI3B;;;OAGG;IACH,OAAO,CAAC,eAAe;IAsBvB,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAU9B,QAAQ,IAAI,cAAc;IAUpB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;CAQ5B"}
1
+ {"version":3,"file":"scheduler.d.ts","sourceRoot":"","sources":["../../src/task/scheduler.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,UAAU,EAAE,cAAc,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAChF,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAIjD,qBAAa,aAAa;IACxB,OAAO,CAAC,YAAY,CAAwC;IAC5D,OAAO,CAAC,aAAa,CAAc;IACnC,OAAO,CAAC,MAAM,CAAc;IAC5B,OAAO,CAAC,cAAc,CAAkB;IACxC,OAAO,CAAC,QAAQ,CAAY;IAEtB,KAAK,CAAC,MAAM,EAAE,UAAU,EAAE,cAAc,EAAE,cAAc,EAAE,QAAQ,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;IAQlG,aAAa,IAAI,OAAO;IAIxB,QAAQ,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI;IAS1B,OAAO,CAAC,WAAW;IA6HnB,OAAO,CAAC,gBAAgB;IAsBxB,OAAO,CAAC,mBAAmB;IAsI3B;;;OAGG;IACH,OAAO,CAAC,eAAe;IAsBvB,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAU9B,QAAQ,IAAI,cAAc;IAUpB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;CAQ5B"}
@@ -65,46 +65,78 @@ export class TaskScheduler {
65
65
  process.stderr.write(content);
66
66
  eventBus.emitEvent('task:log', 'scheduler', { taskId, level: 'error', content: content.trimEnd() });
67
67
  });
68
- // Timeout handler
68
+ // Timeout handler: 先发 SIGTERM 给 Worker 收尾机会,5 秒后未退出再 SIGKILL
69
69
  const timeout = this.config.timeout || 1200000;
70
+ let forceKillTimer = null;
70
71
  const timer = setTimeout(() => {
71
- logger.error(`Task ${task.taskId} timed out (${timeout}ms), killing`);
72
- childProcess.kill('SIGKILL');
72
+ logger.error(`Task ${task.taskId} timed out (${timeout}ms), sending SIGTERM`);
73
+ childProcess.kill('SIGTERM');
74
+ // 给 Worker 5 秒时间发送结果后自行退出,否则强制杀死
75
+ forceKillTimer = setTimeout(() => {
76
+ logger.error(`Task ${task.taskId} still alive after SIGTERM, force killing with SIGKILL`);
77
+ childProcess.kill('SIGKILL');
78
+ }, 5000);
73
79
  }, timeout);
74
- let receivedResult = false;
80
+ // 使用 Promise 来保证 IPC message 先于 exit 被处理
81
+ // 避免 exit 和 message 事件的竞态条件导致结果丢失
82
+ let resultResolve = null;
83
+ const resultPromise = new Promise((resolve) => {
84
+ resultResolve = resolve;
85
+ });
86
+ let resultHandled = false;
75
87
  childProcess.on('message', (msg) => {
76
- receivedResult = true;
77
88
  clearTimeout(timer);
78
- this.handleTaskResult(task, msg);
89
+ if (forceKillTimer)
90
+ clearTimeout(forceKillTimer);
91
+ if (resultResolve)
92
+ resultResolve(msg);
79
93
  });
80
- childProcess.on('exit', (code, signal) => {
94
+ childProcess.on('exit', async (code, signal) => {
81
95
  clearTimeout(timer);
96
+ if (forceKillTimer)
97
+ clearTimeout(forceKillTimer);
82
98
  this.runningTasks.delete(task.taskId);
83
99
  // code 为 null 通常表示被信号杀死
84
100
  if (code === null && signal) {
85
101
  logger.error(`Task ${task.taskId} killed by signal: ${signal}`);
86
102
  }
87
- if (!receivedResult) {
88
- const errorMsg = code === null
89
- ? `Worker was terminated (signal: ${signal || 'unknown'})`
90
- : `Worker exited with code ${code}`;
91
- logger.error(`Task ${task.taskId} did not send result. ${errorMsg}`);
92
- this.handleTaskResult(task, {
93
- success: false,
94
- errorMessage: errorMsg,
95
- });
96
- }
97
- else {
98
- logger.info(`Task ${task.taskId} worker exited normally (code: ${code})`);
103
+ // 等待 IPC message,设置超时防止永久挂起
104
+ // exit 事件触发后,IPC 消息可能还在队列中,给 3 秒时间等待
105
+ const msg = await Promise.race([
106
+ resultPromise,
107
+ new Promise((resolve) => setTimeout(() => resolve(null), 3000)),
108
+ ]);
109
+ if (!resultHandled) {
110
+ resultHandled = true;
111
+ if (msg) {
112
+ this.handleTaskResult(task, msg);
113
+ }
114
+ else {
115
+ const errorMsg = code === null
116
+ ? `Worker was terminated (signal: ${signal || 'unknown'})`
117
+ : `Worker exited with code ${code}`;
118
+ logger.error(`Task ${task.taskId} did not send result. ${errorMsg}`);
119
+ this.handleTaskResult(task, {
120
+ success: false,
121
+ errorMessage: errorMsg,
122
+ });
123
+ }
99
124
  }
100
125
  });
101
- childProcess.on('error', (error) => {
126
+ childProcess.on('error', async (error) => {
102
127
  clearTimeout(timer);
128
+ if (forceKillTimer)
129
+ clearTimeout(forceKillTimer);
103
130
  this.runningTasks.delete(task.taskId);
104
- this.handleTaskResult(task, {
105
- success: false,
106
- errorMessage: error.message,
107
- });
131
+ // error 事件后 exit 也会触发,但 error 表示进程启动失败
132
+ // 直接处理,不等待 message
133
+ if (!resultHandled) {
134
+ resultHandled = true;
135
+ this.handleTaskResult(task, {
136
+ success: false,
137
+ errorMessage: error.message,
138
+ });
139
+ }
108
140
  });
109
141
  logger.info(`Task ${task.taskId} started (PID: ${childProcess.pid})`);
110
142
  }
@@ -1 +1 @@
1
- {"version":3,"file":"scheduler.js","sourceRoot":"","sources":["../../src/task/scheduler.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"scheduler.js","sourceRoot":"","sources":["../../src/task/scheduler.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@aiscene/aiserver",
3
- "version": "1.3.2",
3
+ "version": "1.3.3",
4
4
  "description": "AI automation server with device management, task scheduling, and debug capabilities",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",