Created
September 20, 2011 11:02
-
-
Save denmarkin/1228863 to your computer and use it in GitHub Desktop.
My rake task for clearing Resque queues and stats
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# see http://stackoverflow.com/questions/5880962/how-to-destroy-jobs-enqueued-by-resque-workers - old version | |
# see https://github.com/defunkt/resque/issues/49 | |
# see http://redis.io/commands - new commands | |
namespace :resque do | |
desc "Clear pending tasks" | |
task :clear => :environment do | |
queues = Resque.queues | |
queues.each do |queue_name| | |
puts "Clearing #{queue_name}..." | |
Resque.redis.del "queue:#{queue_name}" | |
end | |
puts "Clearing delayed..." # in case of scheduler - doesn't break if no scheduler module is installed | |
Resque.redis.keys("delayed:*").each do |key| | |
Resque.redis.del "#{key}" | |
end | |
Resque.redis.del "delayed_queue_schedule" | |
puts "Clearing stats..." | |
Resque.redis.set "stat:failed", 0 | |
Resque.redis.set "stat:processed", 0 | |
end | |
end |
Thx !
legend!
I found this useful
puts "Clearing zombie workers..."
Resque.workers.each(&:prune_dead_workers)
Thanks!
much appreciated
This is what works now:
Resque.remove_queue("...")
Updated to merge all of the above and adjust for rubocop:
# see http://stackoverflow.com/questions/5880962/how-to-destroy-jobs-enqueued-by-resque-workers - old version
# see https://github.com/defunkt/resque/issues/49
# see http://redis.io/commands - new commands
desc 'Clear pending tasks'
task clear: :environment do
queues = Resque.queues
queues.each do |queue_name|
puts "Clearing #{queue_name}..."
Resque.remove_queue("queue:#{queue_name}")
end
puts 'Clearing delayed...'
Resque.redis.keys('delayed:*').each do |key|
Resque.redis.del key.to_s
end
Resque.redis.del 'delayed_queue_schedule'
puts 'Clearing stats...'
Resque.redis.set 'stat:failed', 0
Resque.redis.set 'stat:processed', 0
puts 'Clearing zombie workers...'
Resque.workers.each(&:prune_dead_workers)
end
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Thanks B)