A repository of tips and tricks (in both English and French) curated by Mirego’s engineering team.
  • rails
  • ruby
  • sidekiq

Retirer des jobs de la “retry queue” de Sidekiq

Parfois, il arrive qu’on ait enqueué plusieurs mauvaises jobs dans Sidekiq, ce qui fait en sorte que lorsqu’elles s’exécutent, elles raise une erreur et se ré-enqueue (∞!).

Si on veut s’en débarrasser, on peut les supprimer de la retry queue :

require 'sidekiq/api'

jobs = Sidekiq::RetrySet.new.select do |job|
  job.args[0]["job_class"] == 'MyJob'
end

jobs.each(&:delete)

Ce code-là ne devrait être du code d’application puisqu’il n’est pas efficace du tout. C’est seulement pratique pour taper dans une rails console.