Files
obelisk/app/tests/electron-concurrency-child.mjs
T

28 lines
946 B
JavaScript
Raw Normal View History

2026-07-10 18:10:45 +08:00
import { createRequire } from 'node:module';
import { createInterface } from 'node:readline';
const require = createRequire(import.meta.url);
const Database = require('better-sqlite3');
const [mode, payloadJson] = process.argv.slice(2);
const payload = JSON.parse(payloadJson || '{}');
if (mode === 'holder') {
const db = new Database(payload.lockPath);
db.pragma('busy_timeout = 0');
db.exec('BEGIN IMMEDIATE');
process.stdout.write('READY\n');
const input = createInterface({ input: process.stdin });
await new Promise(resolve => input.once('line', resolve));
db.exec('ROLLBACK');
db.close();
input.close();
} else if (mode === 'build') {
const { buildIndex } = await import('../out/main/indexer.js');
process.stdout.write('STARTING\n');
const result = buildIndex(payload.options);
process.stdout.write(`RESULT ${JSON.stringify(result)}\n`);
} else {
throw new Error(`Unknown concurrency child mode: ${mode}`);
}