NodeJS から Resque ジョブをキューに入れたい。Redis コマンドの監視:
1346127083.495055 "sadd" "resque:w:tasks:queues" "facebook"
1346127083.495471 "rpush" "resque:w:tasks:queue:facebook" "{\"class\":\"Hello::FacebookFriends\",\"args\":[\"2342324\"]}"
これらのコマンドをノードから直接発行するとうまくいくようです。隠れたバグや私が気付いていないことはありますか?
更新: 私の仕事は Ruby で書かれています。私は NodeJS が大好きで、Javascript の方がはるかに優れていますが、NPM ではまだ良好な状態で利用できないライブラリがたくさん必要です。たとえば、Twitter や Facebook との通信 (Twitter と Koala の宝石、Node に匹敵するものはありません)。そこで、NodeJS サービスから Ruby ジョブを開始したいと考えています。
これまでのところ、coffee-resque のこの関数に似たものを使用しています。
enqueue: (queue, func, args) ->
@redis.sadd @key('queues'), queue
@redis.rpush @key('queue', queue),
JSON.stringify class: func, args: args || []
ここ:
job = JSON.stringify
class: 'Hello::FacebookFriends'
args: [user_id, fb.id]
@redis_client.multi()
.sadd('resque:w:tasks:queues', 'facebook')
.rpush('resque:w:tasks:queue:facebook', job)
.exec()