首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何使用rabbitmq在nodejs中设计一个任务调度程序,它在跨越多个进程时不会运行相同的任务?

如何使用rabbitmq在nodejs中设计一个任务调度程序,它在跨越多个进程时不会运行相同的任务?
EN

Stack Overflow用户
提问于 2015-07-27 14:54:21
回答 1查看 1.4K关注 0票数 1

我正在尝试将RabbitMQ实现为现有web应用程序中的通用任务队列。但是,我还需要运行一个计划好的任务,在一个设置的间隔内聚合一些用户数据。

我知道任务调度并不在rabbitMQ的核心设计中,但似乎可以通过死信交换来完成。但我担心的是,当我有多个运行web应用程序的实例时,任务将被安排多次。

有什么方法可以让我构建这个结构来避免这个问题呢?如果可能的话,也许可以限制连接的数量?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-07-27 18:32:59

就像你说的,它不在RabbitMQ的核心设计中。

您可以查看RabbitMQ博客,了解它们是如何解决信号量队列问题的。https://www.rabbitmq.com/blog/2014/02/19/distributed-semaphores-with-rabbitmq/

“当我有多个运行web应用程序的实例时,任务将被安排多次。”这是真的,但是你可以稍微改变一下你的设置。以太引入了一个“共享内存”(比如带有主键强制执行的db )。并确保您发布到兔子后,您的交易成功。或者,您可以看看某种“循环”交换,并完全在RabbitMQ上下文(https://github.com/jbrisbin/random-exchange)中利用它。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31656413

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档