加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

ruby – 来自NodeJS的Queue Resque作业

发布时间:2020-12-17 02:44:12 所属栏目:百科 来源:网络整理
导读:我想从NodeJS排队Resque作业.监控Redis命令我看到: 1346127083.495055 "sadd" "resque:w:tasks:queues" "facebook"1346127083.495471 "rpush" "resque:w:tasks:queue:facebook" "{"class":"Hello::FacebookFriends","args":["2342324"]}" 直接从Nod
我想从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和Koala宝石,与Node没有任何可比性)进行交流.所以我想从我的NodeJS服务启动Ruby Jobs.

到目前为止,我使用的东西看起来类似于来自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()

解决方法

为什么不设置一个可以解雇工作的服务呢?这将是通过网络的额外跳跃,但代码应该足够简单(例如,查看 http://www.sinatrarb.com/).

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读