提供在异常时重试和丢弃作业的行为。
命名空间
方法
实例公共方法
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 158 def retry_job(options = {}) instrument :enqueue_retry, options.slice(:error, :wait) do scheduled_at, queue_name, priority = self.scheduled_at, self.queue_name, self.priority enqueue options ensure self.scheduled_at, self.queue_name, self.priority = scheduled_at, queue_name, priority end end