Active Jobで指定時間後にジョブを実行する

公開日時
更新日時

Active Jobを利用する際に、5分後にジョブを実行したかったので対応方法を調べた。

setメソッドの引数にwaitを指定すると指定時間後にジョブを実行できる。

HardWorker.set(wait: 5.minutes).perform_later('bob', 5)

最初、Active Jobのadapterとしてsidekiqを使っていることを忘れていて、perform_inを呼び出したらエラーになって焦った。

参考


Related #ruby

Sidekiqで指定時間待ってから実行する

perform_inを使う

bot tweetするrubyスクリプト

8時間ほどで申請が通っていた

RailsのログをLogrageに変更する

ログを1行にまとめてくれるので便利

request specでリダイレクトのテストをする

redirect_toが使えた

Extension fieldsを使ってdocker-composeのコンテナ設定を共通化する

Railsコンテナ設定を共通化して、commandだけそれぞれで変えるようにした

Railsログに^{[0m ^{[1mが残るのを止める

colorize_loggingを無効化