これは私が私たちの既存のresqueの仕事をsidekiqに移してください。これはレールコンソールで使用できます。
['low', 'high', 'critical'].each do |queue|
p [1, queue]
old_queue = "resque:queue:#{queue}"
new_queue = "queue:#{queue}"
# $redis.ltrim new_queue, 0, 0 # can optionally clear out new queue, in case of multiple runs
vals = $redis.lrange(old_queue, 0, -1)
p [2, queue]
$redis.pipelined do
vals.each do |val|
$redis.lpush(new_queue, val)
end
end
end
また、単に設定することができます。
Sidekiq.configure_server do |config|
config.redis = { :namespace => 'resque' }
end
Sidekiq.configure_client do |config|
config.redis = { :namespace => 'resque' }
end
をし、それが箱から出して動作します。しかし、これを使わずにデプロイした後、私は両方のフォーマットで保留中のジョブを持っていたので、最初のコードを貼り付けて、それを移行しなければなりませんでした。
+1 becoz「redis」リストにキーapiの名前が変更されていると感じていませんかいくつかが間違っているかどうかを確認してください – Viren
既存のResqueワーカーに既存のキューをフラッシュさせてもらわないでください。新しい仕事はありますか?手動でジョブを移動する必要はありません。 –
@ChrisHealdこれを行うには長い時間を待つ必要があるからです。 –