diff --git a/workspace/concierge-detection.js b/workspace/concierge-detection.js index bba03fb..cfd001d 100644 --- a/workspace/concierge-detection.js +++ b/workspace/concierge-detection.js @@ -207,7 +207,15 @@ async function main() { } } -function makeClient() { return new Client({ ...PG_BASE, password: readPgPassword() }); } +function makeClient() { + const c = new Client({ ...PG_BASE, password: readPgPassword() }); + // Un 'error' socket (backend qui tombe, connexion coupée) SANS écouteur devient une + // exception NON capturée qui échappe au try/catch et TUE le process (piège signalé par + // EVCS 16/09 : « un battement dans un process mort ne bat pas »). On l'écoute pour le + // rendre non fatal ; l'opération await en cours rejette et reste rattrapée normalement. + c.on('error', (e) => { console.error('[pg] socket error (non fatal):', e.message); }); + return c; +} if (require.main === module) { main().catch(e => { console.error('[concierge]', e.message); process.exit(1); });