Rails CHANGELOG "2019-11-25".."2019-12-01"

この期間の 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

似たような変更が前にもあったな。この辺り。

今回の変更で、リダイレクト先でもリクエスト元の情報を取り扱うことができるようになる、ということかな?

コミットメッセージに↓のように書いてあった。

This change will allow subscribers to the notification to report on anything related to the request that they might need

だいたい認識あってそうかな。たぶん。