From 5ce480ade3b000889c19ff3639e103c20945d9ce Mon Sep 17 00:00:00 2001 From: Michael SCHAL Date: Thu, 19 Mar 2026 11:34:36 +0100 Subject: [PATCH] =?UTF-8?q?fix:=20mssql=20requestTimeout=205min=20+=20try/?= =?UTF-8?q?catch=20par=20=C3=A9tape=20sync?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - requestTimeout 300000ms pour éviter timeout sur grosses tables (MvtArt) - Chaque étape sync est wrappée en try/catch pour ne pas bloquer les suivantes Co-Authored-By: Claude Opus 4.6 --- sync/db.js | 2 ++ sync/index.js | 6 +++++- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/sync/db.js b/sync/db.js index 14891e0..d8ca9df 100644 --- a/sync/db.js +++ b/sync/db.js @@ -8,6 +8,8 @@ const mssqlConfig = { database: process.env.DB_NAME, user: process.env.DB_USER, password: process.env.DB_PASSWORD, + requestTimeout: 300000, // 5 min pour les grosses requêtes (MvtArt) + cancelTimeout: 10000, // 10s pour annuler une requête options: { encrypt: false, trustServerCertificate: true, diff --git a/sync/index.js b/sync/index.js index 7c6ea79..9b82a04 100644 --- a/sync/index.js +++ b/sync/index.js @@ -43,7 +43,11 @@ async function syncAll(force = false) { const { name, fn } = STEPS[i]; setProgress(name, i + 1); console.log(`[${i + 1}/${STEPS.length}] Sync ${name}…`); - await fn(force); + try { + await fn(force); + } catch (err) { + console.error(`[${name}] ERREUR NON CATCHÉE: ${err.message}`); + } } } finally { setSyncRunning(false);