mirror of
https://github.com/R0m1k3/LogiFlow.git
synced 2026-10-23 15:08:22 +02:00
Compare commits
3
Commits
d384271a30
...
944d99733c
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
944d99733c | ||
|
|
8a27b310d2 | ||
|
|
6bb61cdbcc |
No files matched your search
@@ -30,6 +30,14 @@ if (isProduction && dbUrl && (dbUrl.includes('logiflow-db') || dbUrl.includes('l
|
||||
|
||||
db = drizzle({ client: pool, schema });
|
||||
|
||||
// Une connexion inactive coupée par Postgres (redémarrage ou redéploiement de
|
||||
// la base, coupure réseau) fait émettre 'error' au pool. Sans écouteur, Node
|
||||
// arrête tout le serveur ; le pool écarte déjà la connexion fautive et en
|
||||
// ouvre une neuve à la requête suivante, il suffit donc de journaliser.
|
||||
pool.on('error', (err: any) => {
|
||||
console.error('❌ PostgreSQL idle connection error (connexion écartée):', err?.code || '', err?.message);
|
||||
});
|
||||
|
||||
// Test connection
|
||||
try {
|
||||
await pool.connect().then((client: any) => {
|
||||
|
||||
+21
-4
@@ -5443,8 +5443,9 @@ RÉSUMÉ DU SCAN
|
||||
console.log("✅ [CACHE] Current year data saved to cache");
|
||||
} catch (error: any) {
|
||||
console.warn("⚠️ [CACHE] Could not save current year data (may already exist):", error.message);
|
||||
// Récupérer les données existantes au lieu de créer
|
||||
currentYearData = await storage.getWeatherData(today, true);
|
||||
// Récupérer les données existantes au lieu de créer ; à défaut,
|
||||
// afficher quand même la réponse de l'API
|
||||
currentYearData = (await storage.getWeatherData(today, true)) ?? (weatherData as any);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -5462,9 +5463,12 @@ RÉSUMÉ DU SCAN
|
||||
console.log("✅ [CACHE] Previous year data saved to cache");
|
||||
} catch (error: any) {
|
||||
console.warn("⚠️ [CACHE] Could not save previous year data (may already exist):", error.message);
|
||||
// Récupérer les données existantes au lieu de créer
|
||||
previousYearData = await storage.getWeatherData(previousYearDate, false);
|
||||
// Récupérer les données existantes au lieu de créer ; à défaut,
|
||||
// afficher quand même la réponse de l'API plutôt que de la perdre
|
||||
previousYearData = (await storage.getWeatherData(previousYearDate, false)) ?? (weatherData as any);
|
||||
}
|
||||
} else {
|
||||
console.warn(`⚠️ [HISTORY] Empty historical response for ${previousYearDate}`);
|
||||
}
|
||||
} else {
|
||||
console.warn("⚠️ [HISTORY] Could not fetch historical data - continuing with current year only");
|
||||
@@ -5481,6 +5485,19 @@ RÉSUMÉ DU SCAN
|
||||
}
|
||||
}
|
||||
|
||||
// Second repli : la météo relevée l'an dernier, au jour le jour, quand ces
|
||||
// dates étaient « aujourd'hui » (lignes is_current_year = true datées de
|
||||
// l'année précédente). Elle reste disponible même si l'API refuse
|
||||
// durablement l'historique (plan, quota).
|
||||
if (!previousYearData) {
|
||||
previousYearData = await storage.getNearestWeatherData(previousYearDate, true, 7);
|
||||
if (previousYearData) {
|
||||
console.log(`🌤️ [FALLBACK] Using weather recorded last year (${previousYearData.date}) for target ${previousYearDate}`);
|
||||
} else {
|
||||
console.warn(`⚠️ [FALLBACK] No previous-year weather available around ${previousYearDate}`);
|
||||
}
|
||||
}
|
||||
|
||||
// Toujours retourner une réponse même si seule l'année actuelle est disponible
|
||||
const response = {
|
||||
currentYear: currentYearData ? {
|
||||
|
||||
Reference in new issue
Block a user