← back to Costa Rica

scripts/ingest/run-all.js

33 lines

'use strict';

// Sequential orchestrator. Runs each ingest module as its own child process
// so a single-source failure doesn't poison the others.

const { spawn } = require('child_process');
const path = require('path');

const ORDER = [
  'ict-cst',
  'local-portals',
  'meic-pymes',
  'google-places',
];

function run(name) {
  return new Promise(resolve => {
    const t0 = Date.now();
    const p = spawn('node', [path.join(__dirname, `${name}.js`)], { stdio: 'inherit', env: process.env });
    p.on('close', code => {
      const ms = Date.now() - t0;
      console.log(`[run-all] ${name} → exit=${code} in ${(ms/1000).toFixed(1)}s\n`);
      resolve(code);
    });
  });
}

(async () => {
  const codes = {};
  for (const name of ORDER) codes[name] = await run(name);
  console.log('[run-all] summary', codes);
})();