タグ

ブックマーク / qiita.com/necojackarc (1)

  • ActiveJobでリトライ制御 - Qiita

    ActiveJob はまだまだリトライ制御機能が弱く、retry_job での単純な再実行位しか機能がありません1。 そこで、公式ドキュメントで公開されている API のみを活用し、ある程度の制御が行えるモジュールを作成しました。 成功するまでリトライ まず retry_job を使ったシンプルな例です。 class RetryJob < ApplicationJob queue_as :default rescue_from(StandardError) do retry_job(wait: 5.minutes) end def perform(*args) # Do something later end end StandardError が発生すると、rescue_fromで補足され、5分後に再実行するようにスケジューリングされます。 ただし、これでは成功するまで無限にリトライが行

    ActiveJobでリトライ制御 - Qiita
    ryshinoz
    ryshinoz 2017/03/27
  • 1