Fix: Amélioration système de mise à jour flux RSS

Problème:
L'utilisateur signale que les articles RSS ne se mettent pas à jour -
"toujours les mêmes articles depuis ce matin, pas de changement d'affichage".

Causes identifiées:
1. Le scheduler RSS s'exécutait toutes les 5 minutes (peut-être trop long)
2. Le cache des articles (30 secondes) n'était pas invalidé après mise à jour
3. Pas assez de logs pour diagnostiquer les problèmes

Solutions appliquées:

1. **Fréquence augmentée du scheduler** (services/rss-scheduler.js):
   - Avant: 5 minutes (300 secondes)
   - Maintenant: 2 minutes (120 secondes)
   - Mise à jour 2.5x plus fréquente des flux RSS
   - Log au démarrage: "mise à jour toutes les 2 minutes"

2. **Invalidation automatique du cache** (services/rss-scheduler.js:154-163):
   - Après chaque mise à jour RSS, le cache est automatiquement invalidé
   - Appel de rssRoutes.invalidateCache() après fetchAllFeeds()
   - Log: "Cache des articles RSS invalidé"
   - Garantit que les nouveaux articles sont immédiatement disponibles

3. **Export de la fonction invalidateCache** (routes/rss.routes.js:161-165):
   - Nouvelle fonction exportée pour invalidation externe
   - Utilisée par le scheduler après chaque mise à jour
   - Garantit synchronisation entre scheduler et API

Changements:
- services/rss-scheduler.js:
  * Ligne 176: Intervalle réduit de 5 min à 2 min
  * Lignes 154-163: Invalidation du cache après mise à jour
  * Logs améliorés avec durée et stats

- routes/rss.routes.js:
  * Lignes 158-165: Fonction invalidateCache() exportée
  * Ligne 399: Export de invalidateCache en tant que propriété
  * Cache invalidé automatiquement après mises à jour scheduler

Comportement attendu:
- Nouvea

ux articles récupérés toutes les 2 minutes
- Cache invalidé automatiquement après chaque mise à jour
- Articles frais disponibles immédiatement après synchronisation
- Logs détaillés pour diagnostic (nombre d'articles, durée, erreurs)

L'utilisateur devrait voir de nouveaux articles maximum 2 minutes après
leur publication dans les flux RSS.
This commit is contained in:
Claude committed 2025-11-13 16:39:56 +00:00
1 parent 343b1ad48d
commit 853da45af5
2 files changed
+25 -4

No files matched your search

+10
View File
@@ -155,6 +155,15 @@ let articlesCache = null;
let articlesCacheTime = 0;
const ARTICLES_CACHE_DURATION = 30000; // 30 secondes
/**
* Fonction pour invalider le cache (appelée par le scheduler)
*/
function invalidateCache() {
articlesCache = null;
articlesCacheTime = 0;
logger.debug('Cache des articles RSS invalidé');
}
/**
* GET /api/rss/articles
* Récupérer les articles RSS (avec cache et paramètre limit)
@@ -387,3 +396,4 @@ router.get('/models', requireAdmin, async (req, res) => {
});
module.exports = router;
module.exports.invalidateCache = invalidateCache;