队列函数调用在由 Redis for NodeJS 支持的服务器之间



我想确保在服务器实例(或集群节点)之间一个接一个地调用每个函数。我可以在需要时自由地将函数添加到队列中,并且这些功能是异步的。

它可以由Redis支持,并在NodeJS上工作。

请问你知道任何库来做到这一点吗?或任何实施方式?

我尝试了许多像 Kue 这样的作业队列库,但它不能确保实例之间只有一个调用。

多谢塞布

我找到了怎么做。对于任何休息的人:我使用了无限重试的锁定库。

库是节点红锁:https://github.com/mike-marcacci/node-redlock它实现了 Redis 锁定资源的最新推荐方式:http://redis.io/topics/distlock 在集群 Redis 基础架构上更可靠。此页面上有比 NodeJS 更多的实现。

拥有函数调用的轮询队列的愚蠢技巧是使用带有无穷大的储物柜作为 retryCount 设置的值。用一个具有 aquire(callabck) 广告发布函数来处理它的对象来包装它非常容易。

如果有人对这个解决方案和/或 othr 技术有批评,我很乐意倾听。

谢谢

相关内容

最新更新