連続投稿でメールがすべて送信されない

このフォーラムはすべての投稿の承認が必要です。その結果、一部の投稿は短時間に続けて公開されます。モデレーターがログインすると、投稿が次々と迅速に承認されるためです。

ほとんどのカテゴリは全ユーザーに対して「監視中」に設定されており、ログインするユーザーはほとんどいません。そのため、フォーラムはメール通知に大きく依存しています。

問題は、投稿が短時間(1.5 分未満)で続けて公開された場合、すべてのメールが送信されないことです。このクエリは、トピックごとに送信されたメールの数を示しています(email_logs のエントリ数)。メールを受け取るべきユーザー数は約 2,250 人です。最近ログインしたユーザー(約 1%)にはメールが届かないため、数値は多少変動しますが、2,200〜2,250 の範囲であるはずです。

最初の 3 行を見ると、短時間で続けて公開された投稿では、メールの数が不足していることがわかります。

何が起きているのでしょうか?

ちなみに、max_emails_per_day_per_user は非常に高い値に設定されています。


列: トピック、日時、カテゴリ、送信されたメール数

「いいね!」 2

ここ数ヶ月でいくつかの新しい知見が得られました。

  • 問題は実際のメールではなく、基盤となる通知の生成にあったこと
  • 短時間に多数の通知を生成すると、Sidekiq が Sidekiq is consuming too much memory というエラーで再起動してしまうこと
  • Sidekiq が再起動すると、投稿のために生成中の現在の通知バッチが中止され、通知が不完全になること

編集:UNICORN_SIDEKIQ_MAX_RSS を引き上げたことで、過去9日間この問題は再発していません。

「いいね!」 2

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.