Redis pubsub消息队列,但具有回调,如ZeroMQ

我发现以下代码通过ZeroMQ和Node.js实现了异步消息队列(实际上没有队列,只有文件)

setInterval(function() {

var value = { id: i++, date: new Date() };

WriteFile(value.id + ".dat", value);

client.send(value, function(result) {

console.log(value, result);

DeleteFile(value.id + ".dat");

});

}, 10000);

代码是从这里开始的。

函数“ WriteFile”和“ DeleteFile”在代码的后面定义,但是那里没有什么特别的。

函数“ client.send”也定义在另一个文件中,在该文件中定义了回调。显然,ZeroMQ提供了在消息传输成功时进行回调的功能。

现在,为了简化起见,我想使用Redis pubsub而不是ZeroMQ进行类似的操作。据我了解,node_redis模块的“发布”功能中没有回调。

我的问题是,有没有办法实现这样的目标?我真的很喜欢写入文件然后在传输完成后删除它们的想法,但是我希望在Redis中完成。我知道我正在抓住稻草,但是如果有人有任何想法,我会很乐意听。

回答:

redis模块的所有命令都有一个可选的回调作为最后一个参数。

所以做类似的事情

client.publish('channel', 'message', function(err) {

if (err) throw err;

});

应该能按预期工作。

以上是 Redis pubsub消息队列,但具有回调,如ZeroMQ 的全部内容, 来源链接: utcz.com/qa/412368.html

回到顶部