RSSフィードが不可解にも消えています

多数のフィードからエントリをインポートするために rss-polling プラグインを使用しています。時折、一部のフィードがリストから消えてしまいます。どのような条件下で、どのように消えるのか、またそのようなアクションのログも見つかりません。パターンも見つかっていません。ただ消えてしまうため、(多くのフィードがある中で、消えていることに気づくのは簡単ではないため) 新しいエントリを再度作成する必要があります。

特定の条件下で RSS フィードを削除するような機能がコードに記述されていますか?それが起こったときに登録されるログはありますか?

昨年、@blake はバックエンドストレージを DB に移行しました。

ただし、現在フィードを削除するのは更新処理のみのようです。

特に、「feed_settings」が何らかの方法で空に設定されている場合、人間が関与している可能性があります。

これはどのくらいの頻度で発生しましたか?

いずれにせよ、この更新はすべてを一度に更新しようとし、差分更新を行わないため、少しリスクがあります。

これは、フィードを更新する際に [] (空) を送信し、状態全体を送信しない自動化によるものでしょうか?

「いいね!」 3

RSSフィードに関して、/admin/plugins/rss_polling で手動で新規作成する以外、何も行っていません。

このページのRSSフィードの順序が時々変わることに気づきました。これはすでに奇妙なことで、フィード作成の時系列順序が失われ、新しい並べ替えはアルファベット順または数値順のいずれにも従っていないように見えるため、デバッグの助けになりません。

問題が発生したときにすぐに検出できないため、この問題がどのくらいの頻度で発生するかはわかりません。最良の場合でも、フィードの所有者が新しいエントリが表示されていないと私たちに伝えるのを待つか、たとえば週刊ポッドキャストがフォーラムで最近沈黙していることに自分で気づくことしかできません。

この問題は、CPUが100%に近づく状況や、サーバーの他の何かが最大容量に達することに関連している可能性があるという印象を持っています。スケジューラは一度に5つのフィードのみをポーリングするのに良い仕事をしているとしても、ホスティング分析ではRSSフィードが更新されているときにCPUが基本的に100%に達することがわかります。

おそらく、これが、フィードが数個しかないフォーラムではそれに気づかない理由ですが、たくさん追加すると、スケジューラに関係なく、時々何かが壊れる可能性があるのでしょうか?

関連情報はこちらをご覧ください: Are there any upper limits to the RSS Polling plugin? - #4 by icaria36

「いいね!」 3

(さらに考察)

いずれにせよ、なぜDiscourseがそもそもRSSフィードを削除するのか、そしてそれを黙って行うのか疑問に思います。RSSフィードに何らかの問題がある場合、今回はスキップして問題を記録することができます。ここから2つのことが起こり得ます。

  1. 一時的な問題であり、次のスケジューラ実行で問題なく動作するでしょう。ログエントリは忘れられます。
  2. 問題が継続し、スキップするたびにエラーログにエントリが残ります。誰かが問題に気づいたとき、管理者はエラーログをチェックして詳細を見つけることができます。

理想的には、管理者は何らかの通知を受け取るべきですが、潜在的なソリューションにさらに作業が追加されることは理解できます。削除する代わりにスキップし、エラーログにエントリを残すだけでも、すでに大きな改善となるでしょう。

そして、この問題が私たちのプロジェクトにどのような影響を与えるかを説明します。私たちは独立系ポッドキャストのポータルを持っており、ポッドキャストは私たちに集約を依頼してきます。私たちは彼らの番組がインポートされ、リスナーが良いねやコメントをできるチャンネル(サブカテゴリ)を作成します。彼らが集約が停止したことに気づき、フィードが何らかの方法で削除されたと答える必要がある場合、それは私たちのプロジェクトとDiscourseプラットフォームにとって非常に悪い印象を与えます。

「いいね!」 1

:grimacing: 1年以上も「一時的」なコードとして残っているこのコードが原因である可能性が高いです。確認します。

「いいね!」 5

とりあえずこの修正から始めましょう。これがフィードが不可解に削除される原因だとは言いませんが、フィードを実際に削除する前に少なくとも確認ダイアログを追加するのは良いスタートです。

後でもっと時間があるときに、さらなる改善に取り組みます。編集/保存するたびにすべてを更新/保存するのではなく、個々のフィードを編集/保存するための適切なUIを追加したいと考えています。

@icaria36 プラグインを更新すれば、この最新の変更を取得できます。さらに改善の準備ができたら、改めてフォローアップします。

「いいね!」 3

パッチありがとうございます!すぐに新しいバージョンにアップグレードし、不足していたRSSフィード(約20個!)を追加しましたが、今日確認したところ…フィードが再びサイレントに削除されていました。 :frowning: いつ、どのように、どのフィードが削除されたのかはまだわかりませんが、十数個が不足しています。削除前にフィードに関するダイアログが表示されたり、何も言われなかったりすることはありませんでした。また、RSSフィードのポーリング時間を避け、サーバーのCPUが正常な時にRSSフィードを再追加するようにしたので、その要因は除外しました。

リストのソート順が変わることと、フィードが消えることの間には関連があるという印象を持っています。ソート順が変わる原因が、犠牲者も出すほどトラウマ的なものであれば、フィードが消えることもあり得ます。有用な質問は、「そもそもリストのソート順はなぜ変わるのか?」ということです。リストのソート順が変わらないままフィードが消えるのは、それも同様に悪いことですが、もう少し…クリーンに感じられるでしょう。 :slight_smile:

この問題は、こちら側で修正するのが面倒です(所有者が気づいて尋ねる前に不足しているフィードを見つけて再追加する)。しかし、検出するのもさらに面倒です。なぜなら、唯一の方法は、カテゴリごとにフィードを確認して、どれが不足しているかを見つけるか、少なくとも前回数えたときと比較してフィードの数を手動で数えることだからです。

デバッグのための時間を大幅に節約するには、/admin/plugins/rss_polling にフィードの総数を示す文字列、つまり「N feeds」を表示するようにするか、リストに番号を付けることです。

「いいね!」 1

ああ、残念です。やはりそうだろうと思っていました。アップデートありがとうございます。休暇が終わったので、この問題の適切な修正に取り掛かります。

「いいね!」 1

管理UIを大幅に改善し、RSSフィードが不可解に削除される問題を解決しました。

変更内容は、何かを更新したときにすべてのフィードを更新しようとするのではなく、個別の作成、更新、削除ロジックが追加されたことです。これにより、はるかにうまく機能するはずです。

「いいね!」 2

迅速なご対応ありがとうございます!今夜アップグレードし、すべてのフィードが有効になっていることを確認します。何かあれば(できれば何もありませんように!)ここに報告します。

「いいね!」 1

素晴らしい、ずっと良くなりました!各フィードは個別に編集され、一度に変更を保存できます。新しいフィードの保存は即座に行われます。以前は、多くのフィードがある場合、新しいフィードを追加して保存アイコンを押すと、リスト全体が更新されるまでに数秒の処理が必要でした。これは堅実で信頼できる感じです。本当にありがとうございます!

フィードが失われないことを確認するために、数週間待つつもりです。

UIを改善するための提案がいくつかあります。役立つ場合や良いタイミングであれば、お伝えします。

新しいフィードを追加するための「+」は上部にありますが、新しい行は下部に追加されます。フィードのリストが画面よりも長い場合、ユーザーは「+」をクリックしても何も起こらないように見えます。私はこのページをよく知っているので、最初はボタンが壊れていると思いました。次にリストの最後にチェックを入れようとしたところ、そこには以前と同じように新しい行が待っていました。

  • 新しい行をリストの先頭、つまり「+」ボタンのすぐ下に配置するのは良い代替案かもしれません。これにより新しいフィードがリストの先頭に来る場合、スケジューラで最初に表示されるのも良いでしょう。新しいフィードは、確立されたフィードよりも多くの作業や確認事項をもたらす可能性が高いです。

「Feed Settings」と「Discourse Settings」という文字列がぶら下がっているように見えます。「Feed Settings」は、リストがすぐ下にあり自己説明的であるため、冗長に見えます。「Discourse Settings」は /admin/site_settings/category/plugins?filter=plugin%3Adiscourse-rss-polling へのリンクを意図していますか?それとも、2つの異なるサブページ用のタブですか?

  • 代替案として、それらを削除することもできます。

「いいね!」 2

素晴らしい! :slight_smile:

そうですね、良い点です。これは覚えておきます。この新しいトピック Creating consistent admin interfaces について、rss-polling プラグインのいくつかの改善がそこから波及すると考えています。おそらく、インラインで編集するのではなく、他のプラグインと同様に別の編集画面を作成するでしょう。

はい、ご指摘ありがとうございます。これが混乱を招くことは理解できます。「Feed Settings」は最初の2列のラベルで、これらの列が RSS フィードに影響することを示しています。「Discourse Settings」ラベルは最後の3列のもので、これらを変更すると Discourse の何かに影響することを示しています。

「いいね!」 3

1週間が経過しましたが、既存の100以上のRSSフィードに数十件のRSSフィードを追加し、リストは現在非常に安定しています。問題は検出されていません!

「いいね!」 3

このトピックは36日後に自動的にクローズされました。返信はもう許可されていません。