Files
mv2_simple_crx/server/services/task_executor.js
张成 a62018a062 1
2026-03-18 16:16:04 +08:00

43 lines
1.2 KiB
JavaScript

import { crawl_run_record } from '../models/index.js';
import { safe_json_stringify } from './json_utils.js';
import { invoke_extension_action } from './puppeteer_runner.js';
import { persist_amazon_result } from './amazon_persist.js';
export async function execute_action_and_record(params) {
const { action_name, action_payload, source } = params;
const request_payload = safe_json_stringify(action_payload || {});
let ok = false;
let result_payload = null;
let error_message = null;
try {
console.log( 'invoke_extension_action-start', action_name, action_payload );
const res_invoke = await invoke_extension_action(action_name, action_payload || {});
console.log( 'invoke_extension_action-end', action_name, result );
ok = true;
result_payload = safe_json_stringify(res_invoke);
// 按 stage 自动入库(不影响原始 run_record 记录)
await persist_amazon_result(res_invoke.result);
return res_invoke;
} catch (err) {
ok = false;
error_message = (err && err.message) || String(err);
throw err;
} finally {
await crawl_run_record.create({
action_name,
request_payload,
ok,
result_payload,
error_message,
source
});
}
}