Nice job @RGJ!
修正を待つ間、ちなみに、この問題が私のフォーラムを完全にダウン寸前に追い込んだ一連の問題を引き起こさなかったらよかったのにと思います。具体的には:
- メール送信の失敗が非常に速くリトライされるようで、これによりSidekiqキューが爆発的に増加し、これらのタスクによってCPU使用率が約100%になります。
- さらに、何か(クラッシュまたは再起動のいずれか)が原因でRedisが巨大な一時ファイルを書き込んでいました。これはSidekiqキューの状態を含んでいると推測されます。これらは削除しても安全でしたが、すぐにディスクを使い果たし、さらなるクラッシュを引き起こしました。フォーラムを再起動して何が起こっているのかを把握するために解放できるディスクスペースがいくつかありましたが、これはすべての人に当てはまるわけではありません。(この場合、Redisの一時ファイルを削除しても安全であることを確認するのはやや困難でもあります。)
最も簡単な解決策は、失敗したメールジョブのリトライを遅くすること、または少なくともパスワードリセットのような時間的制約のないジョブのリトライを遅くすることだと思います。メールの問題はすぐに解決する可能性が低く、ほとんどすべてのメーラーがメッセージを受信すると独自の再試行を行うことを考えると、これは適切だと思われます。