Skip to content

Commit 92cc269

Browse files
committed
resque:failures:sort rake task
This Rake task sorts the "failed" queue into separate failed queues named after the original job queues, e.g. "myqueue" has a "myqueue_failed" queue for its failures. This can be used to migrate to the Resque::Failure::RedisMultiQueue backend.
1 parent c920b74 commit 92cc269

File tree

1 file changed

+15
-0
lines changed

1 file changed

+15
-0
lines changed

lib/resque/tasks.rb

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -60,4 +60,19 @@
6060
Rails::Initializer.run :load_application_classes
6161
end
6262
end
63+
64+
namespace :failures do
65+
desc "Sort the 'failed' queue for the redis_multi_queue failure backend"
66+
task :sort do
67+
require 'resque'
68+
require 'resque/failure/redis'
69+
70+
warn "Sorting #{Resque::Failure.count} failures..."
71+
Resque::Failure.each(0, Resque::Failure.count) do |_, failure|
72+
data = Resque.encode(failure)
73+
Resque.redis.rpush(Resque::Failure.failure_queue_name(failure['queue']), data)
74+
end
75+
warn "done!"
76+
end
77+
end
6378
end

0 commit comments

Comments
 (0)