Javascript 如何使用赢得';跨越多个进程时,是否不运行相同的任务?
我正在尝试将RabbitMQ实现为现有web应用程序中的常规任务队列。但我还需要运行一个计划任务,以按设定的时间间隔聚合一些用户数据 我知道任务调度不在rabbitMQ的核心设计中,但它似乎可以通过死信交换来完成。但我担心的是,当我有多个web应用程序实例运行时,任务会被安排多次Javascript 如何使用赢得';跨越多个进程时,是否不运行相同的任务?,javascript,node.js,rabbitmq,Javascript,Node.js,Rabbitmq,我正在尝试将RabbitMQ实现为现有web应用程序中的常规任务队列。但我还需要运行一个计划任务,以按设定的时间间隔聚合一些用户数据 我知道任务调度不在rabbitMQ的核心设计中,但它似乎可以通过死信交换来完成。但我担心的是,当我有多个web应用程序实例运行时,任务会被安排多次 有没有一种方法可以避免这个问题?如果可能的话,也许可以限制交换的连接量?正如您所说的,RabbitMQ的核心设计中没有这一点 您可以查看RabbitMQ博客,了解它们是如何解决信号量队列问题的 “当我有多个web应用实
有没有一种方法可以避免这个问题?如果可能的话,也许可以限制交换的连接量?正如您所说的,RabbitMQ的核心设计中没有这一点 您可以查看RabbitMQ博客,了解它们是如何解决信号量队列问题的 “当我有多个web应用实例运行时,任务将被安排多次。” 这是真的,但是你可以稍微改变一下你的设置。以太引入了一个“共享内存”(比如说使用主键强制的db)。并确保只有在事务成功后才能发布到rabbit。
或者,您可以查看一种“循环”交换,并在RabbitMQ上下文()中完全利用它。正如您所说,它不在RabbitMQ的核心设计中 您可以查看RabbitMQ博客,了解它们是如何解决信号量队列问题的 “当我有多个web应用实例运行时,任务将被安排多次。” 这是真的,但是你可以稍微改变一下你的设置。以太引入了一个“共享内存”(比如说使用主键强制的db)。并确保只有在事务成功后才能发布到rabbit。
或者您可以查看一种“循环”交换,并在RabbitMQ上下文()中完全利用它。您在使用redis吗?您必须使用RabbitMQ吗?另一个选择是看一看。你在使用redis吗?您必须使用RabbitMQ吗?作为替代方案,请查看。