最近Retry laterが多い

web版です、再読み込みすれば直るけど、結構な頻度で起こってるので一応報告です。

sue445編集者
2026-01-05 15:46

RateLimitの設定はこの辺ですかねえ。

https://github.com/annict/annict/blob/a166d59ee1a14e026150f265b3791b0dfdb3ae62/rails/config/initializers/rack_attack.rb#L7-L13

@remote_ip (インスタンス変数)を使ってるのが気になりました。

controller内であればインスタンス変数はユーザのリクエスト毎に初期化されるけど、initializers内のインスタンス変数だとRailsのプロセス全体で共有されそうな気がします...(あまり自信ない)

remote_ip の実装を見る感じそんなに重くはないのでメモ化せずに素朴に

def remote_ip(req)
  (req.env["HTTP_CF_CONNECTING_IP"] || req.env["action_dispatch.remote_ip"] || req.ip).to_s
end

とかでいい気がします。

Shimba, Koji管理者
2026-01-05 17:25

フィードバックと調査ありがとうございます。
確かにちょこちょこ発生しますね…。ページを表示するとき複数のリクエストを投げることがあり (ステータス情報の取得など)、
それがRack::Attackの制限に触れちゃっているのかもしれません。
調査いただいた内容を参考にしつつ見てみます🙏

Loading...