この期間の CHANGELOG.md
へのコミットは2件。
ActiveJobに関して1件、ActionPackに関して1件。
ActiveJob
ActiveJob::Exceptions.retry_on
に キーワード引数 :jitter
を追加することで、複数のjobの再試行が同時に行なわれないようにした
コミット: Add jitter to :exponentially_longer · rails/rails@5f76218
rails/exceptions.rb at 5f7621878dda1b3c77bf31e6fa44a32579782bc1 · rails/rails
determine_delay
メソッドにもキーワード引数 :jitter
が追加され、 Karnel.rand
に :jitter
を使って計算した値を渡すことでリトライジョブの待ち時間がランダムになる。
これにより複数のリトライジョブが同時に実行されにくくなる。
ちなみに「単独のプロセスしか処理できない状況で複数のプロセスが同時に作られ、プロセスがリソースを奪い合う状態」のことをどうやら Thundering herd problem と呼ぶらしい。
ActionPack
redirect_to.action_controller
の notifications に request
を含めるようにした
コミット: Add request to the payload for notifications to redirect_to.action_co… · rails/rails@23b7382
似たような変更が前にもあったな。この辺り。
- Rails CHANGELOG "2019-11-04".."2019-11-09" - tanaken’s blog
- Rails CHANGELOG "2019-11-10".."2019-11-17" - tanaken’s blog
今回の変更で、リダイレクト先でもリクエスト元の情報を取り扱うことができるようになる、ということかな?
コミットメッセージに↓のように書いてあった。
This change will allow subscribers to the notification to report on anything related to the request that they might need
だいたい認識あってそうかな。たぶん。