最新消息: 电脑我帮您提供丰富的电脑知识,编程学习,软件下载,win7系统下载。

队列Resque从乔布斯的NodeJS

IT培训 admin 8浏览 0评论

队列Resque从乔布斯的NodeJS

我想从排队的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和考拉宝石,没有什么可比性节点)。所以我想从我服务的NodeJS启动红宝石作业。

到目前为止,我使用的东西,看起来类似于从咖啡救援此功能:

 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()
回答如下:

为什么不设置一个触发关闭工作服务?这将是通过网络的额外跳,但代码应该足够简单,(看http://www.sinatrarb/为例)。

队列Resque从乔布斯的NodeJS

我想从排队的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和考拉宝石,没有什么可比性节点)。所以我想从我服务的NodeJS启动红宝石作业。

到目前为止,我使用的东西,看起来类似于从咖啡救援此功能:

 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()
回答如下:

为什么不设置一个触发关闭工作服务?这将是通过网络的额外跳,但代码应该足够简单,(看http://www.sinatrarb/为例)。

与本文相关的文章

发布评论

评论列表 (0)

  1. 暂无评论