跳至内容 跳至搜索

这些方法将被包含到任何 Active Job 对象中,添加用于反序列化和创建作业实例的帮助器。

方法
D
S

实例公共方法

deserialize(job_data)

从使用 serialize 创建的哈希中创建一个新的作业实例。

# 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

set(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