提供在發生例外情況時重試和捨棄工作的行為。
命名空間
方法
實例公共方法
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