Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/459.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何使用赢得';跨越多个进程时,是否不运行相同的任务?_Javascript_Node.js_Rabbitmq - Fatal编程技术网

Javascript 如何使用赢得';跨越多个进程时,是否不运行相同的任务?

Javascript 如何使用赢得';跨越多个进程时,是否不运行相同的任务?,javascript,node.js,rabbitmq,Javascript,Node.js,Rabbitmq,我正在尝试将RabbitMQ实现为现有web应用程序中的常规任务队列。但我还需要运行一个计划任务,以按设定的时间间隔聚合一些用户数据 我知道任务调度不在rabbitMQ的核心设计中,但它似乎可以通过死信交换来完成。但我担心的是,当我有多个web应用程序实例运行时,任务会被安排多次 有没有一种方法可以避免这个问题?如果可能的话,也许可以限制交换的连接量?正如您所说的,RabbitMQ的核心设计中没有这一点 您可以查看RabbitMQ博客,了解它们是如何解决信号量队列问题的 “当我有多个web应用实

我正在尝试将RabbitMQ实现为现有web应用程序中的常规任务队列。但我还需要运行一个计划任务,以按设定的时间间隔聚合一些用户数据

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


有没有一种方法可以避免这个问题?如果可能的话,也许可以限制交换的连接量?

正如您所说的,RabbitMQ的核心设计中没有这一点

您可以查看RabbitMQ博客,了解它们是如何解决信号量队列问题的

“当我有多个web应用实例运行时,任务将被安排多次。” 这是真的,但是你可以稍微改变一下你的设置。以太引入了一个“共享内存”(比如说使用主键强制的db)。并确保只有在事务成功后才能发布到rabbit。
或者,您可以查看一种“循环”交换,并在RabbitMQ上下文()中完全利用它。

正如您所说,它不在RabbitMQ的核心设计中

您可以查看RabbitMQ博客,了解它们是如何解决信号量队列问题的

“当我有多个web应用实例运行时,任务将被安排多次。” 这是真的,但是你可以稍微改变一下你的设置。以太引入了一个“共享内存”(比如说使用主键强制的db)。并确保只有在事务成功后才能发布到rabbit。
或者您可以查看一种“循环”交换,并在RabbitMQ上下文()中完全利用它。

您在使用redis吗?您必须使用RabbitMQ吗?另一个选择是看一看。你在使用redis吗?您必须使用RabbitMQ吗?作为替代方案,请查看。