フォローユーザープラグインによるユーザー投稿からの再発する通知

皆さん、こんにちは。

一点だけ質問です。サイトをバックアップから復元してから、特定のユーザーがトピックに返信するたびに、トピック作成者や返信先のユーザーに対して「編集」通知が絶えず発生してしまいます。

調査してみたところ、Sidekiq の「Retries」セクションに何かがおかしいようです。一部のジョブが積み上がってしまい、成功しないままです。これらを削除すると通知は止まります(ただし、その人が別のトピックに投稿すると、また新しいジョブが生成されます)。

メッセージの形式は以下の通りです。

Next Retry Retry Count Queue Job Arguments Error
in 1 minute 10 default Jobs::PostAlert {“post_id”=>25977142, “new_record”=>true, “options”=>nil, “current_site_id”=>“default”} Jobs::HandledExceptionWrapper: Wrapped ActiveRecord::RecordNotFound: Couldn’t find User with ‘id’=1452

ここから推測すると、ユーザーが存在しないようですが(実際には存在してアクティブなユーザーの投稿で発生しています)、おそらく別のユーザーのようです。これを二重確認できるクエリや方法はありますか?

ドキュメントを少し見てみましたが、何かを「修正」する必要がある場合、何か壊してしまうのが怖くて :sweat_smile:

ご支援いただければ幸いです!

「いいね!」 2

小規模なアップデート:

  • 特定のユーザーでのみ発生します。
  • そのユーザーが投稿したすべてのメッセージが、他のユーザーに届く通知上で「編集」されたように表示されます(つまり、他のユーザーへの返信の場合、そのユーザーに対して、その投稿に関する「編集通知」が繰り返し送られます)。
  • リビルドを行っても問題は解決しません。
  • Sidekiq で再試行中のジョブを削除すると、その通知については永久に止まりますが、そのユーザーが投稿するたびに再び発生します。

クイック編集:

  • そのユーザーをクエリで検索しましたが、存在しませんでした。ただし、それが既存のユーザーとどう関連しているかはわかりません(クエリが間違っているのでしょうか?)。管理ページで、この投稿 を参照し、クエリと管理 URL の両方について確認しましたが、「1451」ユーザーと「1453」ユーザーは存在しますが(エラーメッセージにある通り)、「1452」ユーザーは存在しません。そして、この問題を「引き起こしている」ユーザーはモデレーターで、そのユーザー ID は 55 です :stuck_out_tongue:

クイック編集 +:

  • 考えていました。エラーに表示される「存在しないユーザー」を「注入」することの implications(影響)について、誰か教えてもらえませんか?つまり、その行を DB に追加すれば、Sidekiq とジョブは失敗しなくなるのでしょうか?
「いいね!」 1

もしかして「Follow User」プラグインを使っていますか?以前、削除されたユーザーがフォローリストから消えず、通知がループに陥るという似た問題に遭遇しました。私の解決策は、データベースから手動でいくつかのレコードを削除することでした。プラグイン側の問題は修正されていますが、古いバージョンを使用している場合は、まだこの問題に直面する可能性があります。

「いいね!」 3

ディスクール、すごい!はい、使っています!:stuck_out_tongue:

バージョンを確認して、それが原因かどうか見てみます。@bartv さん、本当にありがとうございます!

「いいね!」 3

素晴らしい!プラグインが更新されたとしても、古いバージョンによってデータが破損している可能性があります。これについて以前書いた投稿を見つけました。詳細は不足していますが、ヒントになるかもしれません:

https://meta.discourse.org/t/follow-plugin/110579/41?u=bartv

「いいね!」 4