RSS-Feeds verschwinden auf mysteriöse Weise

Wir verwenden das Plugin rss-polling, um Einträge aus Dutzenden von Feeds zu importieren. Von Zeit zu Zeit verschwinden einige Feeds einfach aus der Liste. Wir wissen nicht unter welchen Bedingungen, wir wissen nicht wie, und wir können keine Protokolle über solche Aktionen finden. Wir haben auch kein Muster gefunden. Sie verschwinden einfach, und wir müssen ihre neuen Einträge erneut erstellen (wenn wir feststellen, dass sie verschwunden sind, was bei so vielen Feeds nicht trivial ist).

Gibt es eine Funktionalität im Code, die einen RSS-Feed unter bestimmten Bedingungen eliminiert? Gibt es ein Protokoll, das registriert, wann dies geschieht?

Letztes Jahr hat @blake den Backend-Speicher in die Datenbank verschoben.

Ich glaube, es gibt jetzt nur noch einen Ort, der Feeds löscht, und das wäre das Update:

Besonders wenn „feed_settings“ irgendwie auf nichts gesetzt werden, also ist vielleicht ein Mensch daran beteiligt?

Wie oft ist das passiert?

Unabhängig davon ist dieses Update etwas riskant, da es versucht, alles auf einmal zu aktualisieren und keine Delta-Updates durchführt.

Könnte dies eine Automatisierung sein, die Sie haben und die ein [] (nichts) sendet und nicht den gesamten Zustand sendet, wenn sie Feeds aktualisiert?

3 „Gefällt mir“

Das Einzige, was wir mit RSS-Feeds machen, ist, manuell neue unter /admin/plugins/rss_polling zu erstellen. Sonst nichts.

Mir ist aufgefallen, dass sich die Reihenfolge der RSS-Feeds auf dieser Seite von Zeit zu Zeit ändert, was bereits seltsam ist und nicht bei der Fehlersuche hilft, da die chronologische Reihenfolge der Feed-Erstellung verloren geht und die neue Sortierung keinerlei alphabetischen oder numerischen Sortierung zu folgen scheint.

Wir wissen nicht, wie oft dieses Problem auftritt, da wir es nicht sofort erkennen können, wenn es passiert. Im besten Fall können wir nur darauf warten, dass der Besitzer des Feeds uns mitteilt, dass neue Einträge nicht erscheinen, oder wir stellen selbst fest, dass beispielsweise ein wöchentlicher Podcast in letzter Zeit im Forum still war.

Ich habe den Eindruck, dass dieses Problem mit Situationen zusammenhängen könnte, in denen die CPU nahe 100% erreicht oder etwas anderes auf dem Server seine maximale Kapazität erreicht. Selbst wenn der Scheduler nur 5 Feeds gleichzeitig abruft, können wir in der Hosting-Analyse sehen, dass die CPU im Grunde 100% erreicht, wenn RSS-Feeds aktualisiert werden.

Vielleicht ist das der Grund, warum Foren mit nur wenigen Feeds es nicht bemerken, aber wenn man viele hinzufügt, könnte etwas nur manchmal kaputt gehen, unabhängig vom Scheduler?

Siehe verwandtes Thema: Are there any upper limits to the RSS Polling plugin? - #4 by icaria36

3 „Gefällt mir“

(Weiterdenkend)

Ich frage mich sowieso, warum Discourse RSS-Feeds überhaupt löschen sollte und das auch noch stillschweigend. Wenn ein RSS-Feed aus irgendeinem Grund problematisch ist, könnte er ihn dieses eine Mal überspringen und das Problem protokollieren. Von diesem Punkt an könnten zwei Dinge passieren:

  1. Es war ein gelegentliches Problem und die nächsten Scheduler-Läufe werden problemlos funktionieren. Der Protokolleintrag wird vergessen.
  2. Das Problem besteht fort, jeder Sprung hinterlässt einen Eintrag im Fehlerprotokoll, und wenn jemand merkt, dass es ein Problem gibt, können die Administratoren das Fehlerprotokoll überprüfen und die Details finden.

Idealerweise würden die Administratoren eine Art Benachrichtigung erhalten, aber ich verstehe, wenn dies einer potenziellen Lösung mehr Arbeit hinzufügt. Überspringen statt löschen + Fehlerprotokolleintrag wäre bereits eine große Verbesserung.

Und um zu erklären, welche Auswirkungen dieses Problem auf unser Projekt hat. Wir haben ein Portal für unabhängige Podcasts, sie kontaktieren uns, um aggregiert zu werden, wir erstellen einen Kanal (Unterkategorie), in den ihre Programme importiert werden und wo Hörer mögen und kommentieren können… Es vermittelt einen sehr schlechten Eindruck von unserem Projekt und der Discourse-Plattform, wenn sie feststellen, dass wir die Aggregation gestoppt haben und wir ihnen antworten müssen, dass ihr Feed irgendwie gelöscht wurde…

1 „Gefällt mir“

:grimacing: Dieser “temporäre” Code, der seit über einem Jahr hier ist, ist wahrscheinlich der Schuldige. Ich werde es mir ansehen.

5 „Gefällt mir“

Beginnen wir vorerst mit dieser Korrektur. Ich sage nicht, dass dies die Ursache für das mysteriöse Löschen von Feeds ist, aber das Hinzufügen zumindest einer Bestätigungsdialogbox, bevor ein Feed tatsächlich gelöscht wird, ist ein Anfang.

Ich werde später an weiteren Verbesserungen arbeiten, wenn ich mehr Zeit habe. Ich möchte eine ordnungsgemäße Benutzeroberfläche zum Bearbeiten/Speichern einzelner Feeds hinzufügen, anstatt nur ALLE beim Bearbeiten zu aktualisieren/speichern.

@icaria36 Wenn Sie Ihr Plugin aktualisieren, erhalten Sie diese letzte Änderung. Ich werde mich wieder melden, wenn ich weitere Verbesserungen bereit habe.

3 „Gefällt mir“

Vielen Dank für den Patch! Ich habe sofort auf die neue Version aktualisiert und die fehlenden RSS-Feeds (ca. 20!) hinzugefügt, und heute habe ich nachgesehen und… die Feeds wurden wieder stillschweigend entfernt. :frowning: Ich weiß nicht, wann, ich weiß nicht wie, ich weiß immer noch nicht welche, aber es fehlen etwa ein Dutzend. Ich habe keinen Dialog gesehen, der vor dem Entfernen nach Feeds gefragt hat, oder irgendetwas anderes. Außerdem habe ich mich darum gekümmert, RSS-Feeds wieder hinzuzufügen, als die Server-CPUs in Ordnung waren, und die RSS-Abrufzeit vermieden, um diesen Faktor aus der Gleichung zu nehmen.

Ich habe den Eindruck, dass es einen Zusammenhang zwischen der Tatsache gibt, dass die Liste ihre Sortierung ändert, und der Tatsache, dass Feeds verschwinden. Was auch immer die Änderung der Sortierung verursacht, könnte traumatisch genug sein, um auch Verluste zu verursachen. Eine nützliche Frage könnte sein: Warum ändert die Liste überhaupt ihre Sortierung? Das Verschwinden von Feeds, während die Sortierung der Liste gleich bleibt, wäre genauso schlimm, aber es würde sich… sauberer anfühlen. :slight_smile:

Dieses Problem ist auf unserer Seite mühsam zu beheben (herauszufinden, welche Feeds fehlen, bevor ihre Besitzer es bemerken und fragen + die Feed-Einträge wieder hinzuzufügen), aber es ist noch mühsamer zu erkennen, da der einzige Weg darin besteht, Kategorie für Kategorie nach RSS-Feeds zu durchsuchen, um zu sehen, welche fehlen – oder zumindest manuell zu zählen, wie viele Feeds es im Vergleich zum letzten Mal gibt.

Eine große Zeitersparnis beim Debugging wäre eine Zeichenkette, die die Gesamtzahl der Feeds in /admin/plugins/rss_polling anzeigt, d. h. nur “N Feeds”. Und/oder die Liste nummerieren.

1 „Gefällt mir“

Ah Mist, das habe ich mir schon gedacht, danke für das Update. Jetzt, wo die Feiertage vorbei sind, werde ich mich um eine richtige Lösung dafür kümmern.

1 „Gefällt mir“

Ich habe die Admin-Oberfläche mit meinen letzten Änderungen erheblich verbessert, und das sollte das Problem beheben, dass RSS-Feeds auf mysteriöse Weise entfernt werden.

Es gibt jetzt eine einzelne Erstellungs-, Aktualisierungs- und Löschlogik, anstatt zu versuchen, jeden einzelnen Feed zu aktualisieren, wenn Sie etwas geändert haben. Sollte jetzt viel besser funktionieren.

2 „Gefällt mir“

Vielen Dank für Ihr schnelles Handeln! Ich werde heute Abend ein Upgrade durchführen, sicherstellen, dass alle unsere Feeds aktiviert sind, und hier berichten, falls es etwas gibt (hoffentlich gar nichts!).

1 „Gefällt mir“

Wow, das ist so viel besser! Jeder Feed wird einzeln bearbeitet, wobei eine Änderung nach der anderen gespeichert wird. Das Speichern eines neuen Feeds ist eine sofortige Aktion. Zuvor, wenn man viele Feeds hatte, bedeutete das Hinzufügen eines neuen Feeds und das Drücken des Speichern-Symbols ein paar Sekunden Wartezeit, bevor die vollständige Liste aktualisiert wurde. Das fühlt sich solide und vertrauenswürdig an. Vielen Dank!

Ich werde ein paar Wochen warten, um zu überprüfen, ob keine Feeds verloren gehen.

Ein paar Vorschläge zur Verbesserung der Benutzeroberfläche, nur für den Fall, dass sie nützlich sind und zur richtigen Zeit kommen:

Das „+“ zum Hinzufügen eines neuen Feeds befindet sich oben, aber die neue Zeile wird unten hinzugefügt. Wenn die Liste der Feeds länger als der Bildschirm ist, klickt der Benutzer auf das „+“ und sieht nichts passieren. Ich kenne diese Seite gut, und am Anfang dachte ich, der Button sei kaputt. Dann dachte ich, ich überprüfe das Ende der Liste, und dort war eine neue Zeile, die wie zuvor wartete.

  • Das Hinzufügen der neuen Zeile am Anfang der Liste, direkt unter dem „+“-Button, könnte eine gute Alternative sein. Wenn dadurch der neue Feed am Anfang der Liste steht, ist das auch gut, wenn er zuerst im Scheduler erscheint. Neue Feeds haben eine höhere Wahrscheinlichkeit, mehr Arbeit und Dinge zur Überprüfung mit sich zu bringen als etablierte.

Es gibt ein paar Zeichenketten „Feed Settings“ und „Discourse Settings“, die einfach nur herumzuhängen scheinen. „Feed Settings“ scheint redundant zu sein, da die Liste direkt darunter liegt und selbsterklärend ist. Soll „Discourse Settings“ ein Link zu /admin/site_settings/category/plugins?filter=plugin%3Adiscourse-rss-polling sein? Oder sollen es Tabs für zwei verschiedene Unterseiten sein?

  • Eine Alternative könnte sein, sie einfach zu entfernen.

2 „Gefällt mir“

Sweet! :slight_smile:

Ya good point. I’ll keep this in mind. We do have this newish topic about Creating consistent admin interfaces and I think some improvements to the rss-polling plugin will trickle down from that. Likely I imagine we will create a separate edit screen like we do for other plugins rather than editing things inline.

Yes, thank you pointing this out. I can see how this is confusing. “Feed Settings” is a label for the first two columns indicating that those columns affect the RSS Feed. The “Discourse Settings” label is for the last 3 columns indicating that when you modify them they affect things in Discourse.

3 „Gefällt mir“

Seit einer Woche haben wir ein paar Dutzend RSS-Feeds zusätzlich zu den bereits vorhandenen über hundert hinzugefügt, und die Liste ist jetzt absolut stabil. Wir haben keine Probleme festgestellt!

3 „Gefällt mir“

Dieses Thema wurde nach 36 Tagen automatisch geschlossen. Neue Antworten sind nicht mehr möglich.