how to delete a job in sidekiq

前端 未结 8 1989
爱一瞬间的悲伤
爱一瞬间的悲伤 2020-12-07 20:32

I am using sidekiq in my rails app. Users of my app create reports that start a sidekiq job. However, sometimes users want to be able to cancel \"processing\" reports. Delet

8条回答
  •  -上瘾入骨i
    2020-12-07 20:59

    You can delete sidekiq job filtering by worker class and args:

    class UserReportsWorker
      include Sidekiq::Worker
      def perform(report_id)
        # ...
      end
    end
    
    
    jobs = Sidekiq::ScheduledSet.new.select do |retri| 
      retri.klass == "UserReportsWorker" && retri.args == [42]
    end
    jobs.each(&:delete)
    

提交回复
热议问题