Les flux RSS disparaissent mystérieusement

Nous utilisons le plugin rss-polling pour importer des entrées de dizaines de flux. De temps en temps, certains flux disparaissent simplement de la liste. Nous ne savons pas dans quelles conditions, nous ne savons pas comment, et nous ne trouvons aucune trace d’une telle action. Nous n’avons pas non plus trouvé de schéma. Ils disparaissent tout simplement, et nous devons recréer leurs nouvelles entrées (quand nous nous rendons compte qu’ils ont disparu, ce qui n’est pas trivial avec autant de flux).

Existe-t-il une fonctionnalité écrite dans le code qui éliminerait un flux RSS sous certaines conditions ? Existe-t-il un journal qui enregistrerait quand cela se produit ?

L’année dernière, @blake a déplacé le stockage backend vers la base de données.

Je pense qu’il n’y a plus qu’un seul endroit qui supprime les flux et ce serait la mise à jour :

Particulièrement si les “feed_settings” sont mis à rien d’une manière ou d’une autre, donc peut-être qu’un humain est impliqué ici ?

Combien de fois cela s’est-il produit ?

Quoi qu’il en soit, cette mise à jour est un peu risquée car elle tente de tout mettre à jour en une seule fois et ne fait pas de mises à jour delta.

Cela pourrait-il être une automatisation de votre part qui envoie un [] (rien) et n’envoie pas l’état complet lors de la mise à jour des flux ?

3 « J'aime »

La seule chose que nous faisons avec le flux RSS est d’en créer de nouveaux manuellement sur /admin/plugins/rss_polling. Rien d’autre.

J’ai remarqué que l’ordre des flux RSS sur cette page change de temps en temps, ce qui est déjà étrange et n’aide pas à déboguer les problèmes car l’ordre chronologique de création des flux est perdu, et le nouveau tri ne semble suivre aucun tri alphabétique ou numérique.

Nous ne savons pas à quelle fréquence ce problème se produit car nous ne pouvons pas le détecter immédiatement lorsqu’il se produit. Dans le meilleur des cas, nous ne pouvons qu’attendre que le propriétaire du flux nous dise que de nouvelles entrées n’apparaissent pas, ou nous réalisons nous-mêmes que, par exemple, un podcast hebdomadaire est silencieux sur le forum depuis un certain temps.

J’ai l’impression que ce problème pourrait être lié à des situations où le processeur atteint près de 100%, ou quelque chose d’autre sur le serveur atteignant sa capacité maximale. Même si le planificateur fait un bon travail en interrogeant seulement 5 flux à la fois, sur les analyses d’hébergement, nous pouvons voir que lorsque les flux RSS sont mis à jour, le processeur atteint pratiquement 100%.

C’est peut-être pour cela que les forums avec seulement quelques flux ne le remarquent pas, mais si vous en ajoutez beaucoup, quelque chose pourrait se casser seulement parfois, indépendamment du planificateur ?

Voir lié : Are there any upper limits to the RSS Polling plugin? - #4 by icaria36

3 « J'aime »

(En y réfléchissant davantage)

Quoi qu’il en soit, je me demande pourquoi Discourse devrait supprimer les flux RSS en premier lieu, et le faire silencieusement. Si un flux RSS pose problème pour une raison quelconque, il pourrait le sauter cette fois-ci et enregistrer le problème. À partir de là, deux choses pourraient se produire :

  1. C’était un problème occasionnel et les prochaines exécutions du planificateur fonctionneront très bien. L’entrée du journal sera oubliée.
  2. Le problème persiste, chaque saut laisse une entrée dans le journal des erreurs, et lorsque quelqu’un se rend compte qu’il y a un problème, les administrateurs peuvent vérifier le journal des erreurs et trouver les détails.

Idéalement, les administrateurs recevraient une sorte de notification, mais je comprends si cela ajoute plus de travail à une solution potentielle. Sauter au lieu de supprimer + une entrée dans le journal des erreurs serait déjà une grande amélioration.

Et pour expliquer l’impact de ce problème sur notre projet. Nous avons un portail de podcasts indépendants, ils nous contactent pour être agrégés, nous créons un canal (sous-catégorie) où leurs programmes sont importés et où les auditeurs peuvent aimer et commenter… Cela donne une très mauvaise impression de notre projet et de la plateforme Discourse lorsqu’ils réalisent que nous avons cessé de les agréger et que nous devons leur répondre que leur flux a été supprimé d’une manière ou d’une autre…

1 « J'aime »

:grimacing: Ce code « temporaire » qui est là depuis plus d’un an est probablement le coupable. Je vais jeter un œil.

5 « J'aime »

Commençons par cette correction pour l’instant. Je ne dis pas que c’est la cause de la suppression mystérieuse des flux, mais l’ajout d’une boîte de dialogue de confirmation avant de supprimer réellement un flux est un début.

Je travaillerai plus tard sur d’autres améliorations lorsque j’aurai plus de temps. Je veux ajouter une interface utilisateur appropriée pour modifier/enregistrer les flux individuels au lieu de simplement mettre à jour/enregistrer TOUS les flux à chaque modification.

@icaria36 si vous mettez à jour votre plugin, vous bénéficierez de cette dernière modification. Je ferai un suivi à nouveau lorsque j’aurai plus d’améliorations prêtes.

3 « J'aime »

Merci pour le correctif ! J’ai immédiatement mis à niveau vers la nouvelle version et ajouté les flux RSS manquants (environ 20 !), et aujourd’hui j’ai vérifié et… les flux ont été silencieusement supprimés à nouveau. :frowning: Je ne sais pas quand, je ne sais pas comment, je ne sais toujours pas lesquels, mais il en manque une douzaine environ. Je n’ai vu aucune boîte de dialogue demandant des informations sur les flux avant de les supprimer, ni quoi que ce soit d’autre. De plus, j’ai pris soin de réajouter les flux RSS lorsque les processeurs du serveur allaient bien, en évitant le temps d’interrogation des flux RSS, juste pour éliminer ce facteur de l’équation.

J’ai l’impression qu’il y a un lien entre le fait que la liste change de tri et le fait que les flux disparaissent. Ce qui provoque le changement de tri pourrait être assez traumatisant pour causer également des pertes. Une question utile pourrait être : pourquoi la liste change-t-elle de tri en premier lieu ? La disparition des flux pendant que le tri de la liste reste le même serait tout aussi mauvaise, mais cela semblerait… plus propre. :slight_smile:

Ce problème est fastidieux à résoudre de notre côté (découvrir quels flux sont manquants avant que leurs propriétaires ne le remarquent et ne demandent + réajouter les entrées de flux), mais il est encore plus fastidieux à détecter, car la seule façon est de vérifier catégorie-flux après catégorie-flux pour voir lesquels sont manquants – ou du moins de compter manuellement combien il y a de flux par rapport à la dernière fois que nous avons compté.

Un excellent gain de temps pour le débogage serait d’avoir une chaîne indiquant le nombre total de flux dans /admin/plugins/rss_polling, c’est-à-dire juste “N flux”. Et/ou de numéroter la liste.

1 « J'aime »

Ah mince, je m’en doutais, merci pour la mise à jour cependant. Maintenant que les fêtes sont terminées, je vais travailler sur une solution appropriée pour cela.

1 « J'aime »

J’ai considérablement amélioré l’interface d’administration avec mes derniers changements et cela devrait résoudre le problème de la suppression mystérieuse des flux RSS.

Il existe désormais une logique individuelle de création, de mise à jour et de suppression au lieu d’essayer de mettre à jour chaque flux à chaque modification. Cela devrait beaucoup mieux fonctionner maintenant.

2 « J'aime »

Merci beaucoup pour votre action rapide ! Je vais mettre à niveau ce soir, m’assurer que tous nos flux sont activés et je vous ferai un retour ici s’il y a quoi que ce soit (espérons rien du tout !).

1 « J'aime »

Wow, c’est tellement mieux ! Chaque flux est modifié individuellement, en sauvegardant une modification à la fois. Sauvegarder un nouveau flux est une action instantanée. Avant, quand on avait beaucoup de flux, ajouter un nouveau flux et appuyer sur l’icône de sauvegarde signifiait quelques secondes de traitement avant que la liste complète ne soit rafraîchie. Cela semble solide et digne de confiance. Merci beaucoup !

J’attendrai quelques semaines pour vérifier qu’aucun flux n’est perdu.

Quelques suggestions pour améliorer l’interface utilisateur, au cas où elles seraient utiles et arriveraient au bon moment :

Le bouton « + » pour ajouter un nouveau flux est en haut, mais la nouvelle ligne est ajoutée en bas. Si la liste des flux est plus longue que l’écran, l’utilisateur clique sur le « + » et ne voit rien se passer. Je connais bien cette page, et au début, j’ai pensé que le bouton était cassé. Puis j’ai pensé à vérifier la fin de la liste et il y avait une nouvelle ligne là, en attente, comme avant.

  • Ajouter la nouvelle ligne au début de la liste, juste en dessous du bouton « + », pourrait être une bonne alternative. Si cela place le nouveau flux en haut de la liste, c’est aussi bien s’il passe en premier dans le planificateur. Les nouveaux flux ont plus de chances d’apporter plus de travail et de choses à vérifier que ceux établis.

Il y a quelques chaînes de caractères « Feed Settings » et « Discourse Settings » qui semblent juste flotter. « Feed Settings » semble redondant, étant donné que la liste est juste en dessous et s’explique d’elle-même. Est-ce que « Discourse Settings » est censé être un lien vers /admin/site_settings/category/plugins?filter=plugin%3Adiscourse-rss-polling ? Ou peut-être sont-ils censés être des onglets pour deux sous-pages différentes ?

  • Une alternative pourrait être de simplement les supprimer.

2 « J'aime »

Génial ! :slight_smile:

Ouais, bon point. Je vais garder ça à l’esprit. Nous avons ce nouveau sujet sur Creating consistent admin interfaces et je pense que certaines améliorations au plugin rss-polling en découleront. Je pense que nous allons probablement créer un écran d’édition séparé, comme nous le faisons pour d’autres plugins, plutôt que de modifier les choses en ligne.

Oui, merci de l’avoir signalé. Je vois à quel point cela peut être déroutant. « Feed Settings » est une étiquette pour les deux premières colonnes, indiquant que ces colonnes affectent le flux RSS. L’étiquette « Discourse Settings » est pour les 3 dernières colonnes, indiquant que lorsque vous les modifiez, elles affectent des choses dans Discourse.

3 « J'aime »

Cela fait une semaine, nous avons ajouté une couple de douzaines de flux RSS en plus des plus de cent que nous avions déjà, et la liste est maintenant très solide. Nous n’avons détecté aucun problème !

3 « J'aime »

Ce sujet a été automatiquement fermé après 36 jours. Les nouvelles réponses ne sont plus autorisées.