-
-
Save wbotelhos/fb865fba2b4f3518c8e533c7487d5354 to your computer and use it in GitHub Desktop.
require 'sidekiq/api' | |
# 1. Clear retry set | |
Sidekiq::RetrySet.new.clear | |
# 2. Clear scheduled jobs | |
Sidekiq::ScheduledSet.new.clear | |
# 3. Clear 'Processed' and 'Failed' jobs | |
Sidekiq::Stats.new.reset | |
# 3. Clear 'Dead' jobs statistics | |
Sidekiq::DeadSet.new.clear | |
# Stats | |
stats = Sidekiq::Stats.new | |
stats.queues | |
# {"production_mailers"=>25, "production_default"=>1} | |
# Queue | |
queue = Sidekiq::Queue.new('queue_name') | |
queue.count | |
queue.clear | |
queue.each { |job| job.item } # hash content | |
# Redis Acess | |
Sidekiq.redis { |redis| redis.keys } | |
# ["stat:queues"... |
Thanks James for the require 'sidekiq/api
Thank you.
Arigato!
Sidekiq::Queue.all.each {|q| q.clear}
is a handy way to clear all queues
I'm trying to test this with rspec, but the Sidekiq::RetrySet.new.clear is not working in test environment even when i did require 'sidekiq/api'
in the test.
Do you know why?
Hi @DaniPB
Here the command runs on test env, but I think its not a good idea to use the real Sidekiq on test.
Maybe you should use rspec-sidekiq to simulate it.
But if you still need it, check the Test section of Sidekiq, maybe you should to use other requires.
Hope you could done the job. :)
Hi @wbotelhos
Thanks for answer!
I'm using rspec-sidekiq
and i can do jobs expectations, nevertheless, when I clear the scheduled jobs with Sidekiq::RetrySet
, they still scheduled, and this is why:
I'm trying with this Sidekiq::Testing.disable!
but for me is not a good idea and anyway is not working yet.
I see @DaniPB,
Maybe you can mock Redis and do the chances there, if Sidekiq writes there.
https://github.com/sds/mock_redis
https://github.com/guilleiguaran/fakeredis
Yes! @wbotelhos that's a good idea
I was doing something wrong with Sidekiq::Testing.disable!
i fixed and now works
Thanks a lot for u help!
Great, @DaniPB! 👏
I loved your editor hearts ^^
This is amazing! thank you
thank you !
It was very helpful. Thanks a a lot.
Thank you.
As a side note,
require 'sidekiq/api'
must be first if you are in rails console