(这里提到的关于这个主题的大多数问题有点陈旧,我想知道那些年来Node生态系统发生了哪些变化。)
我基本上是想在node.js的应用程序中实现一个作业队列。 我听说过Sidekiq在Ruby世界中的行动以及它的工作有多棒,并且想知道节点中是否存在类似的东西。
工作人员将使用Javascript编写,因此它不必是多语言(如果它是好的,但绝对不是必需的。)
一个很大的优点是可视化当前正在运行的作业,那些失败的作业等。
你们用什么?你知道哪些lib /服务符合这些要求?
答案 0 :(得分:5)
尝试https://github.com/taskrabbit/node-resque。
Resque和Sidekiq共享相同的数据结构。在节点中,一次处理多个作业非常简单。
答案 1 :(得分:1)
免责声明:我为Faktory开发并维护node.js模块。
Sidekiq的作者创建了一个由redis支持的与语言无关的作业队列服务器。它称为Faktory,它在作业服务器端实现了Sidekiq的最佳部分(以及更多),因此您可以使用任何语言(可使用客户端库)获得类似于sidekiq的作业处理。
The node.js (and TypeScript) client can be found here。
自述文件:
从较高层次上讲,Faktory是一个工作服务器。它是应用程序中后台作业的存储库。作业具有一种类型和一组参数,并被放置在队列中,以供工人获取和执行。
您可以使用此服务器将作业分发到一台或数百台计算机。客户端可以使用Faktory API以任何语言执行作业,以从队列中获取作业。
基本功能:
您可以在Sidekiq Pro和Sidekiq Enterprise中熟悉的其他功能获得Enterprise和Pro许可。
我发现自己在此线程上是因为我搜索“ node.js sidekiq”以查找相同的内容,然后突然(尴尬地)想起了Faktory。
答案 2 :(得分:-3)
你可以简单地使用Sidekiq,有npm接口。