Von der Rails-API, fand ich ActiveJob Intervall retry_job kann:Wie wird die Anzahl der Wiederholungen für Sidekiq mit ActiveJob festgelegt?
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
Aber wenn ich will gesetzt Wiederholungsanzahl, wie Sidekiq suchen:
include Sidekiq::Worker
sidekiq_options :retry => 5
Wie in diesem Beispielcode?
class SiteScrapperJob < ActiveJob::Base
rescue_from(ErrorLoadingSite) do
retry_job queue: :low_priority
end
def perform(*args)
# raise ErrorLoadingSite if cannot scrape
end
end
Jetzt habe ich das meine Job-Klasse:
Sidekiq.default_worker_options = { retry: 5 }
Aber es scheint nicht sehr gut.
Sie sind falsch. 'Wiederholen' kann eine Nummer sein. https://github.com/mperham/sidekiq/wiki/Error-Handling#configuration –
Der Titel Ihrer Frage sagt "mit ActiveJob". Die von Ihnen gesendete URL stammt nicht von ActiveJob. Der Besitzer des Repos (@MikePerham) antwortete ebenfalls und sagte, Sie können nicht –
Danke. Ich habe 'Sidekiq.default_worker_options = {retry: 5}' in meine Klasse eingefügt. Aber scheint Arbeit schlechter (wiederholen Sie oft an einem Tag!). Die Standardwiederholung Zeiten ist 25. Dann kann ich es nicht anpassen? – scho