从NodeJS队列Resque Jobs

我想从NodeJS排队Resque作业。 监视Redis命令我看到:

1346127083.495055 "sadd" "resque:w:tasks:queues" "facebook" 1346127083.495471 "rpush" "resque:w:tasks:queue:facebook" "{\"class\":\"Hello::FacebookFriends\",\"args\":[\"2342324\"]}" 

直接从Node发布这些命令似乎工作。 有没有隐藏的错误或我不知道这里的东西?

更新 :我的工作是用Ruby编写的。 虽然我喜欢NodeJS,但是在Javascript方面我还是比较好的,但是我需要很多在NPM中仍然不可用的库,例如与Twitter和Facebook(Twitter和Koalagem,与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() 

为什么不build立一个closures工作的服务? 这将是一个额外的跳跃通过networking,但代码应该足够简单(例如,看看http://www.sinatrarb.com/ )。

我想你应该使用: https : //github.com/technoweenie/coffee-resque

(名称说咖啡,但你也可以使用它与JavaScript)也看起来很简单,你会更安全的预料不到的结果,突破变化等

您可以使用TaskRabbit的节点重新调用库来执行此操作。

这里有一篇文章可以帮助你开始。 它还有一个链接到Heroku上的演示,你可以连接你的Redis实例,看看你的Resque队列和作业。