Из API Rails я обнаружил, что ActiveJob может retry_job интервал:
my_job_instance.enqueue
my_job_instance.enqueue wait: 5.minutes
my_job_instance.enqueue queue: :important
my_job_instance.enqueue wait_until: Date.tomorrow.midnight
Но если я хочу установить счетчик повторов, например Sidekiq's:
include Sidekiq::Worker
sidekiq_options :retry => 5
Как это сделать в этом примере кода?
class SiteScrapperJob < ActiveJob::Base
rescue_from(ErrorLoadingSite) do
retry_job queue: :low_priority
end
def perform(*args)
# raise ErrorLoadingSite if cannot scrape
end
end
Теперь я добавил это в мой класс работы:
Sidekiq.default_worker_options = { retry: 5 }
Но это кажется не очень хорошим.