跳至内容 跳至搜索

提供在异常情况下重试和丢弃作业的行为。

命名空间
方法
R

实例公共方法

retry_job(options = {})

重新安排作业以重新执行。这与 rescue_from 结合使用非常有用。当您从作业中救出异常时,您可以要求 Active Job 重新执行您的作业。

选项

  • :wait - 以指定的延迟(秒)将作业排队

  • :wait_until - 在指定的时间将作业排队

  • :queue - 将作业排队到指定的队列

  • :priority - 将作业排队到指定的优先级

示例

class SiteScraperJob < ActiveJob::Base
  rescue_from(ErrorLoadingSite) do
    retry_job queue: :low_priority
  end

  def perform(*args)
    # raise ErrorLoadingSite if cannot scrape
  end
end
# File activejob/lib/active_job/exceptions.rb, line 151
def retry_job(options = {})
  instrument :enqueue_retry, options.slice(:error, :wait) do
    enqueue options
  end
end