toot!からどの鯖からも通知が来なくなった
自鯖のsidekiqを見るとweb::PushNotificationWorkerのジョブがMastodon::UnexpectedResponseError: https://toot-relay.c3.cx/relay-to/production/8361d820390fc59652414facf8bfcf0a5bcab2b1ac7847becf14c0a6e765e0bf/1 returned code 500
とかいうエラーを吐いて再試行繰り返してる
https://toot-relay.c3.cx/relay-to/のところ、前はmastとromaの名前があったから今回はやっぱりtootがおかしいみたい
どの鯖からも通知が来なくなったてことは自鯖がおかしいんじゃなくてtoot!がおかしいってことになるんだろうけどそしたら他の鯖も再試行繰り返してデッドに溜まっていってるのかな
@azmen 一般解としては放置です。
それぞれのワーカーごとに設定された回数だけ再試行して、あきらめたらデッドになって、デッドの総数が一定数を超えれば自動削除されていくわけですが、それはそうなるように作ってあるので、とりたてて何かしなければいけないことはありません。
再試行やデッドに溜まっているジョブのエラー内容がMastodonのバグによるものと判断できるのであれば、issueをあげるなり、私に教えて頂ければ、開発側で対処します。
Sidekiqのモニター画面は、
・キューや定期実行がちゃんと起動して動いているかどうか
・設定など自分のサーバ環境が原因のエラーがでていないか
・待機に遅延が発生していないか
・全体的な負荷がどう推移しているか
などをみるだけで、直接的にオペレーションが必要となるものではありません。
どうしようもないときに、キューをいったん破棄するぐらいですかね……。
@noellabo ありがとうございます。基本的には放置なんですね。
今のところデッドが溜まるなりしてもアプリのpushサーバーが原因のものばかりでmastodonの方のエラーは見かけたことが無いと思います。
様子を見てtoot!の通知がずっと来ないようであればtoot!の開発者さんの方に連絡してみます
@azmen 溜まってますよー!
MastodonからToot!の通知サーバに送って、それを通知サーバが、AppleやGoogleのサーバに中継する仕組みになっていて、通知サーバが過負荷になったり落ちたりすると、遅延したりまったく届かなくなったりします。
Toot!の通知サーバは安定している方で、あんまり落ちないんですけどねー。
@noellabo やはりそういう仕組みで溜まるんですね
自分の鯖の場合、toot!を使ってるのがおそらく自分だけなので認証済みアプリから一度削除したりすることはできるけど、fedibirdとかは相当数のユーザー分が溜まることになると思うんですけどどうしてるのでしょう
@azmen ちなみにウチの再試行は1,000〜12,000ぐらいはいつもあります。今は……11,364ですね。
デッドはバグ調査している時は削除しながらより分けたりしますが、それ以外はほっとくので、たしか9,999を越えて10,000になると消えるのかな?
このぐらいは全部放置です。
@noellabo そんなに溜まるのか…
ウチのところとはサーバーのスペックが違うとは思いますがなんか安心(苦笑
アプリ側がおかしい場合でもsidekiqに再試行やデッドが溜まってくってどうしたらいいんだろ
この前は認証済みアプリから該当アプリを消したら再試行しなくなったけど、自鯖だからできるけど他の鯖はどうしてるんだろう