我正在运行Rails 5.1,ruby 2.5,Sidekiq。 我已经建立了一个简单的用例:
class RetryJobException < Exception
end
class CustomJob < ActiveJob::Base
retry_on RetryJobException, wait: 3.seconds, attempts: 2 do
puts "RETRYING"
end
def perform(*args)
raise RetryJobException
end
end
这里发生的是,当我运行此作业并将其提高RetryJobException
时,CustomJob
在30秒(而不是3 ...)后重新运行了无限次(并且2),直到我杀死Sidekiq的进程。永远不会在任何地方打印“ RETRYING”,这表明retry_on
块中的代码从未执行过。
根据documentation,这应该是一个基本用例,但是,我遇到了这些问题。我在做什么错了?