You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
cartodb/lib/tasks/resque.rake

43 lines
1.1 KiB

namespace :resque do
task "setup" => :environment do
Resque.before_fork do |job|
#we disconnect the worker so it reconnects on each job
Rails::Sequel.connection.disconnect
end
end
desc "Quit running workers"
task :stop_workers => :environment do
pids = []
Resque.workers.each do |worker|
pids << worker.id.split(':')[1]
end
if pids.empty?
puts "No workers to kill"
else
syscmd = "kill -s QUIT #{pids.join(' ')}"
system(syscmd)
end
end
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