Sidekiqのジョブを削除する [Rails]

ローカル環境で溜まってしまった無駄なジョブにサヨナラする方法です。

  • 処理待ちジョブ確認
  • 処理待ちジョブ1件削除
  • 処理待ちジョブ全件削除
  • リトライ待ちジョブ確認
  • リトライ待ちジョブ1件削除
  • リトライ待ちジョブ全件削除
  • とりあえず全部削除

の7本立て

処理待ちジョブの確認

require 'sidekiq/api'
Sidekiq::Queue.new.each { |job| puts [job.jid, job.klass, job.args].join("\t") }

処理待ちジョブ1件削除

require 'sidekiq/api'
Sidekiq::Queue.new.find_job(<job id>).delete

処理待ちジョブ全件削除

require 'sidekiq/api'
Sidekiq::Queue.new.clear

リトライ待ちジョブ確認

require 'sidekiq/api'
Sidekiq::RetrySet.new.each { |job| puts  [job.jid, job.klass, job.args].join("\t") }

リトライ待ちジョブ1件削除

require 'sidekiq/api'
Sidekiq::RetrySet.new.find_job('job_id /JID').delete

リトライ待ちジョブ全件削除

require 'sidekiq/api'
Sidekiq::RetrySet.new.clear

とりあえず全部削除

require 'sidekiq/api'
# 処理待ちジョブ削除
Sidekiq::Queue.new.clear
# リトライ待ちジョブ削除
Sidekiq::RetrySet.new.clear