节点JS中芹菜的等价物
请在Node JS中build议等价的Celery来运行asynchronous任务。 我已经能够search以下内容:
- ( 稍后 )
- Kue( Kue ),
- 咖啡resque( 咖啡resque )
- cron( cron )
- 节点 – 芹菜( 节点芹菜 )
我在后台运行了手动和自动线程,并与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的节点接口。