mirror of
https://github.com/R0m1k3/noteflow.git
synced 2026-10-12 01:39:47 +02:00
Problèmes résolus: - Articles non mis à jour (toujours 12 nov au lieu de 14 nov) - Détection de doublons défaillante - Cache trop agressif bloquant les nouveaux articles - Logique complexe et difficile à déboguer Architecture V2 (simple et robuste): **services/rss-scheduler-v2.js** - Détection doublons SIMPLE: uniquement par lien - Pas de double vérification titre+date (trop complexe) - Nettoyage automatique (garde les 100 derniers) - Logs clairs pour chaque étape - Fetch séquentiel pour éviter les races - Timeout robuste (15s par flux) **routes/rss.routes-v2.js** - Suppression du cache de 30s - Requêtes SQL directes simples - Pas de logique de filtre temporel compliquée - Endpoint /refresh déclenche un fetch immédiat - Logs cohérents **Scripts utilitaires** - reset-rss.js: Nettoie complètement la DB RSS - migrate-to-rss-v2.js: Migre de V1 à V2 - Plus tous les scripts de debug existants Backups: - rss-scheduler.js.backup (ancien système) - rss.routes.js.backup (ancien système) Migration: 1. node scripts/reset-rss.js (optionnel, nettoie la DB) 2. Redémarrer le serveur 3. Ajouter les flux RSS via l'interface 4. Les articles seront récupérés toutes les 2 minutes Résultat attendu: - Les nouveaux articles apparaissent dans les 2 minutes - Pas de doublons même avec liens changeants - Affichage du plus récent au plus ancien - Système simple, maintenable et debuggable
43 lines
1.5 KiB
JavaScript
43 lines
1.5 KiB
JavaScript
// Script pour réinitialiser complètement le système RSS
|
|
const { runQuery, initDatabase } = require('../config/database');
|
|
|
|
async function resetRSS() {
|
|
console.log('\n==================== RESET SYSTÈME RSS ====================\n');
|
|
|
|
try {
|
|
await initDatabase();
|
|
|
|
// Supprimer tous les articles
|
|
console.log('🗑️ Suppression de tous les articles RSS...');
|
|
await runQuery('DELETE FROM rss_articles');
|
|
console.log('✓ Articles supprimés\n');
|
|
|
|
// Supprimer tous les flux
|
|
console.log('🗑️ Suppression de tous les flux RSS...');
|
|
await runQuery('DELETE FROM rss_feeds');
|
|
console.log('✓ Flux supprimés\n');
|
|
|
|
// Supprimer tous les résumés
|
|
console.log('🗑️ Suppression de tous les résumés...');
|
|
await runQuery('DELETE FROM rss_summaries');
|
|
console.log('✓ Résumés supprimés\n');
|
|
|
|
// Réinitialiser les séquences
|
|
console.log('🔄 Réinitialisation des compteurs...');
|
|
await runQuery('DELETE FROM sqlite_sequence WHERE name IN ("rss_articles", "rss_feeds", "rss_summaries")');
|
|
console.log('✓ Compteurs réinitialisés\n');
|
|
|
|
console.log('========================================================');
|
|
console.log('✅ Système RSS complètement réinitialisé!');
|
|
console.log('Vous pouvez maintenant ajouter de nouveaux flux.');
|
|
console.log('========================================================\n');
|
|
|
|
} catch (error) {
|
|
console.error('❌ Erreur:', error);
|
|
}
|
|
|
|
process.exit(0);
|
|
}
|
|
|
|
resetRSS();
|