Search code examples
sidekiqsidekiq-monitor

Sidekiq no dead jobs were found


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


Solution

  • 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