Files
mv2_simple_crx/server/services/task_executor.js
张成 18aa083c91 1
2026-03-18 17:42:38 +08:00

38 lines
1005 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, keep_browser_open } = params;
const request_payload = safe_json_stringify(action_payload || {});
let ok = false;
let result_payload = null;
let error_message = null;
try {
const result_obj = await invoke_extension_action(action_name, action_payload || {}, {
keep_browser_open: keep_browser_open === true
});
ok = true;
result_payload = safe_json_stringify(result_obj);
return result_obj.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
});
}
}