ユーザーのタイムゾーンが無効な場合、少なくとも1つのSidekiqジョブが妥当なデフォルトにフォールバックするのではなく、例外をスローします。
この場合、ユーザーのタイムゾーンは "" (空文字列) に設定されていました。
そもそもこのようなことが起こらないようにすべきであり、もし起こった場合は、妥当なフォールバック (UTC) を選択すべきです。
ユーザーのタイムゾーンが無効な場合、少なくとも1つのSidekiqジョブが妥当なデフォルトにフォールバックするのではなく、例外をスローします。
この場合、ユーザーのタイムゾーンは "" (空文字列) に設定されていました。
そもそもこのようなことが起こらないようにすべきであり、もし起こった場合は、妥当なフォールバック (UTC) を選択すべきです。
これらのメールでは nil のタイムゾーンは考慮していましたが、\"\" の値は考慮していませんでした。
このインスタンスでは、ユーザーのタイムゾーンが \"\" に設定されている別の問題がありますが、それでも、無効なタイムゾーンでメールが失敗しないようにする必要があります。
それに対応するPRをこちらに追加しました: FIX: Ensure invalid timezone does not block critical emails by pmusaraj · Pull Request #26607 · discourse/discourse · GitHub
また、メタ:
[1] pry(main)> UserOption.where(timezone: '').count
=> 17
(別のサイト)と:
[1] pry(main)> UserOption.where(timezone: '').count
=> 6