I create sidekiq worker as following and exec it
require 'sidekiq'
class HardWorker
include Sidekiq::Worker
sidekiq_options :queue => 'crawler'
def perform(name, count)
logger.info "#{name}: #{count}"
puts 'Doing hard work'
puts 1/0
end
end
And then, and enqueue job by running this code :
Sidekiq::Client.push({'class' => 'HardWorker', 'queue' => 'crawler', 'args' => ['name 1', 1], 'retry' => 1})
Of course, sidekiq worker will throw exception because of 1/0 . But after one retry, I don't see this job in dead job of sidekiq web ui.
So can anybody explain me or provide any idea for this.
Thanks
In log file, I found this line :
uninitialized constant Sidekiq::Middleware::Server::RetryJobs::DeadSet
And then , I google and go to link https://github.com/mperham/sidekiq/issues/1915
So, I did as mperham guide by adding
require 'sidekiq/api'
It worked correctly, failed jobs appeared in dead jobs queue