Je crée travailleur sidekiq comme suit et exec ilSidekiq emplois pas morts ont été trouvés
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
Et puis, et travail enqueue en exécutant ce code:
Sidekiq::Client.push({'class' => 'HardWorker', 'queue' => 'crawler', 'args' => ['name 1', 1], 'retry' => 1})
Bien sûr, travailleur sidekiq va jeter exception à cause de 1/0. Mais après une nouvelle tentative, je ne vois pas ce travail dans le travail mortel de sidekiq web ui.
Donc, quelqu'un peut-il m'expliquer ou donner une idée pour cela?
Merci
Sur le wiki: [meilleures pratiques] (https://github.com/mperham/sidekiq/wiki/Error-Handling#best-practices)Sidekiq déplacera le travail dans la file d'attente morte après avoir essayé de l'exécuter 25 fois. Pas avant ça. – Vinay
Vinay, Sidekiq le déplacera vers le DJQ lorsque les tentatives seront épuisées. Il le configure clairement pour utiliser 1 seule tentative. –
Que dit le journal sidekiq? –