提供在异常情况下重试和丢弃作业的行为。
命名空间
方法
实例公共方法
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
源代码:显示 | 在 GitHub 上
# 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