module SidekiqScheduler::Client
def remove_all_delayed_from_queue(queue, klass, *args)
This method can be very expensive since it needs to scan
Returns the number of jobs removed
Sidekiq::Client.remove_all_delayed('foo', MyWorker, 'foo', 1, :bat => 'bar')
Example usage:
def remove_all_delayed_from_queue(queue, klass, *args) count = 0 item = {'class' => klass.to_s, 'args' => args} item['queue'] = queue.to_s if queue search = MultiJson.encode(item) Array(Sidekiq.redis { |r| r.keys("delayed:*") }).each do |key| count += Sidekiq.redis { |r| r.lrem(key, 0, search) } end count end