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