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

36 lines
906 B
JavaScript

import { crawl_run_record } from '../models/index.js';
import { safe_json_stringify } from './json_utils.js';
import { invoke_extension_action } from './puppeteer/puppeteer_runner.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 {
const result = await invoke_extension_action(action_name, action_payload || {});
ok = true;
result_payload = safe_json_stringify(result);
return result;
} 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
});
}
}