Node.js Redis队列:在循环内调用BLPOP/BRPOP?

Node.js Redis队列:在循环内调用BLPOP/BRPOP?,node.js,redis,message-queue,Node.js,Redis,Message Queue,我想用Redis构建一个简单的队列系统,而不依赖于pub/sub。这样我的(Nodejs)消费者就可以在列表上调用BRPOP,没有什么独创性 问题是,是否完全且独占地依赖于无超时的阻塞行为<;code>BRPOP,这意味着它将无限期地阻塞连接,直到事件被推送到列表中<;还是在循环内调用<;code>BRPOP,并短暂超时 两种解决方案的优缺点是什么?例如,长阻塞连接/进程可能是一个问题吗?我最终使用的解决方案是为每个工作进程打开两个客户端:一个用于阻塞函数brpoplpush,另一个

我想用Redis构建一个简单的队列系统,而不依赖于pub/sub。这样我的(Nodejs)消费者就可以在列表上调用
BRPOP
,没有什么独创性

问题是,是否完全且独占地依赖于无超时的阻塞行为<;code>BRPOP,这意味着它将无限期地阻塞连接,直到事件被推送到列表中<;还是在循环内调用<;code>BRPOP,并短暂超时


两种解决方案的优缺点是什么?例如,长阻塞连接/进程可能是一个问题吗?

我最终使用的解决方案是为每个工作进程打开两个客户端:一个用于阻塞函数brpoplpush,另一个用于进行工作者可能需要的非阻塞redis调用。

我最终使用的解决方案是为每个工作者保持两个客户端打开:一个用于阻塞函数brpoplpush,另一个用于进行工作者可能需要的非阻塞redis调用