There was no way to tell "running, nothing to pull" from "not running". The no-change path logs nothing by design, and PM2 reports a cron-restart process as `stopped` with ↺ 0 even while firing on schedule — I verified that against PM2 7.0.4: a one-minute cron fired four times without the counter moving once. scripts/.last-check is now rewritten on every run with the outcome. It is a single overwritten line, so it needs no trimming. The outcome is set by each exit path and written once in `finally`, rather than calling record at each return — the first version of this did the latter and already missed the build-failure path. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
32 lines
1.0 KiB
JavaScript
32 lines
1.0 KiB
JavaScript
/**
|
|
* Writes the reporter settings into autotrader.sqlite before first launch.
|
|
*
|
|
* lib/db.ts seeds these keys with INSERT OR IGNORE, so values written here
|
|
* survive the app's own startup seeding. Must be run from the project root —
|
|
* lib/db.ts opens the database at process.cwd().
|
|
*
|
|
* node scripts/seed-settings.js <master_dashboard_url> <instance_name>
|
|
*/
|
|
const path = require('path');
|
|
const Database = require('better-sqlite3');
|
|
|
|
const [, , url, name] = process.argv;
|
|
|
|
const db = new Database(path.join(process.cwd(), 'autotrader.sqlite'));
|
|
db.exec(`
|
|
CREATE TABLE IF NOT EXISTS settings (
|
|
key TEXT PRIMARY KEY,
|
|
value TEXT NOT NULL
|
|
);
|
|
`);
|
|
|
|
const upsert = db.prepare(
|
|
'INSERT INTO settings (key, value) VALUES (?, ?) ' +
|
|
'ON CONFLICT(key) DO UPDATE SET value = excluded.value'
|
|
);
|
|
|
|
if (url) { upsert.run('master_dashboard_url', url); console.log(' master_dashboard_url = ' + url); }
|
|
if (name) { upsert.run('instance_name', name); console.log(' instance_name = ' + name); }
|
|
|
|
db.close();
|