mirror of
https://github.com/R0m1k3/noteflow.git
synced 2026-10-22 14:48:18 +02:00
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:
2 files changed
+25
-4
No files matched your search
@@ -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;
|
||||
Reference in new issue
Block a user