サーキットブレーカーパターンという奴がありまして、MastodonではStopLightというgemが使われています。StopLightっていうのは信号機のことです。
たくさんのサーバ同士が相互に通信しあう仕組みのActivityPubでは、どこかのサーバでエラーが発生すると、そこに繋ごうとしたサーバでエラーが発生することになります。
このエラーに適切に対処できないと、巻き込まれて死んだり、処理が詰まってサーバ全体の動作がおかしくなったりします。
個別のジョブ(例えばある投稿を相手サーバのフォロワーに届ける)は、失敗したら、時間をおいて再試行するようになっています。この仕組みは再試行パターンという奴で、ジョブを捌くsidekiqが担っています。
さて、個別にはそれでいいのですが、全体としては、死んでいるサーバに対するジョブが次々と生成されていきます。
当面は失敗することが予想されている時は、復活しているか時々チェックするぐらいにとどめて、いちいち試さずに最初から再試行送りにした方が効率的です。これを行っているのがStopLigitです。