跳至内容 跳至搜索

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

方法
D
S

实例公共方法

deserialize(job_data)

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

# File activejob/lib/active_job/core.rb, line 64
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 88
def set(options = {})
  ConfiguredJob.new(self, options)
end