节点JS中芹菜的等价物

请在Node JS中build议等价的Celery来运行asynchronous任务。 我已经能够search以下内容:

  1. ( 稍后 )
  2. Kue( Kue ),
  3. 咖啡resque( 咖啡resque )
  4. cron( cron )
  5. 节点 – 芹菜( 节点芹菜 )

我在后台运行了手动和自动线程,并与MongoDB交互。

node-celery使用的是redis DB而不是Mongo DB。 有什么办法可以改变吗?当我安装node-celery时,redis被安装为依赖项。

我是新来的芹菜,请指导。谢谢。

芹菜基本上是一个RabbitMQ客户端。 有生产者(任务),消费者(工人)和AMQP消息代理,在任务和工作者之间传递消息。

知道这将使您能够在node.js中编写自己的芹菜 。

在这里输入图像描述

这里的node-celery是一个库,它使您的节点进程既可以作为芹菜客户端(Producer / Publisher),也可以作为芹菜工作者(Consumer) 。

https://abhishek-tiwari.com/post/amqp-rabbitmq-and-celery-a-visual-guide-for-dummies

Kue ,这是一个整体的解决scheme,类似于Python中的芹菜字; 它具有以下概念:生产者/消费者,延迟任务,任务重试,任务TTL,跨多个消费者监听同一队列的循环任务的能力等。

也许芹菜更先进,更多的function与更多的经纪人支持,如果你喜欢,你可以使用节点芹菜 ,但在我看来,我认为没有必要去寻求一个混合的解决scheme,需要安装python和节点,当你可以只能使用90%的情况下足够的语言(当然除非有必要)。

去Kue,这是一个整体的解决scheme,类似于Python中的芹菜字; 它具有以下概念:生产者/消费者,延迟任务,任务重试,任务TTL,跨多个消费者监听同一队列的循环任务的能力等。

Kue在经过了这么多时间后, 仍然有着同样的旧核心问题未解决:

  • github.com/Automattic/kue/issues/514
  • github.com/Automattic/kue/issues/130
  • github.com/Automattic/kue/issues/53

如果有人读这个不想重写Kue,不要从头开始。 这对于简单的任务是很好的。 但是如果你想要处理大量的并发或者任务链(当一个任务创build另一个任务时) – 不要浪费你的时间

我浪费了一个月试图debuggingKue,但仍然没有成功。 最好的select是在RabbitMQ和Rabbot (另一个RabbitMQ包装)上更改Kue for Pubs / sub Messaging队列。

就我个人而言,我并没有使用芹菜,因为我一直在寻找芹菜的替代品,并发现有人build议为Kue煮血我的血液。

如果你想发送一个延迟的电子邮件( 如在Kue例子 ),你可以去任何你想要的,而不必担心错误。 但是如果你想要一个可靠的系统任务/消息队列,甚至不要以Kue开始。 我会亲自去5.节点芹菜(节点芹菜)

根据我们的经验,Kue是不可靠的,失去了工作。 当然,我们正在使用一个旧版本,它可能已经被修复。 也就是在TJ放弃这个项目的时候,也没有select新的维护者。 我们转而使用豆茎,并且非常开心。 我们使用https://github.com/ceejbot/fivebeans作为beanstalkd的节点接口。