略過內容 略過搜尋

這些方法會加入任何 Active Job 物件,新增可用於將工作序列化或反序列化以及建立工作實例的幫手。

方法
D
S

實例公開方法

反序列化資料(job_data)

從使用 序列化資料建立的雜湊資料建立新的工作實例

# File activejob/lib/active_job/core.rb, line 62
def deserialize(job_data)
  job = job_data["job_class"].constantize.new
  job.deserialize(job_data)
  job
end

設定(options = {})

建立預先設定有指定選項的工作。可以呼叫 [稍後執行 (perform_later)] 搭配工作引數,使用預先設定的選項將工作加入佇列

選項

  • :wait - 使用指定延遲將工作加入佇列

  • :wait_until - 在指定時間將工作加入佇列

  • :queue - 在指定佇列中將工作加入佇列

  • :priority - 使用指定優先權將工作加入佇列

範例

VideoJob.set(queue: :some_queue).perform_later(Video.last)
VideoJob.set(wait: 5.minutes).perform_later(Video.last)
VideoJob.set(wait_until: Time.now.tomorrow).perform_later(Video.last)
VideoJob.set(queue: :some_queue, wait: 5.minutes).perform_later(Video.last)
VideoJob.set(queue: :some_queue, wait_until: Time.now.tomorrow).perform_later(Video.last)
VideoJob.set(queue: :some_queue, wait: 5.minutes, priority: 10).perform_later(Video.last)
# File activejob/lib/active_job/core.rb, line 86
def set(options = {})
  ConfiguredJob.new(self, options)
end