Hor*_*ude 2 ruby-on-rails resque
无论如何在两个不同的队列之间移动resque工作?
我们有时会遇到这样的情况:我们有一个很大的队列和一个接近尾声的工作我们发现需要"提高其优先级".我们认为这可能是一种简单的方法,可以简单地将其移动到另一个让工人等待任何高优先级工作的队列.
这种情况很少发生,通常情况下我们会收到客户的特殊电话,因此缩放,重新设计似乎并非完全必要.
Resque中没有任何内置功能.您可以使用rpoplpush:
module Resque
def self.move_queue(source, destination)
r = Resque.redis
r.llen("queue:#{source}").times do
r.rpoplpush("queue:#{source}", "queue:#{destination}")
end
end
end
Run Code Online (Sandbox Code Playgroud)
https://gist.github.com/rafaelbandeira3/7088498