ActiveJobとは?
Active Jobとは?
バックグランドで実行するjobや、キューを操作するためのフレームワークのことです。
$ bin/rails g job hoge
上記のコマンドを実行すると
app/jobs/hoge.rb
というjobが作成されます。
# app/jobs/hoge.rb class HogeJob < ActiveJob::Base queue_as :default def perform(引数) # 後で行う処理を記述する end end
# Jobを定義できたら以下のコードをトリガーとして実行する # キューに空きができたら実行する HogeJob.perform_later(引数) # 1週間後に実行 HogeJob.set(wait: 1.week).perform_later(引数) # 明日の正午に実行 HogeJob.set(wait_until: Date.tomorrow.noom).perform_later(引数)
アダプタがセットされていない場合は即座にJobが実行されます。
例外
ActiveJobの例外キャッチ方法はrescue_from
の1つのみ提供されている。
rescue_from(ActiveRecord::RecordNotFound) do |exception| # 例外処理を記述 end def perform(引数) # 後で行う処理を記述する end