gpt4 book ai didi

node.js - Redis pubsub 消息队列,但有回调,就像在 ZeroMQ 中一样

转载 作者:IT王子 更新时间:2023-10-29 06:03:24 24 4
gpt4 key购买 nike

我找到了下面的代码,用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);

代码来自here .

函数“WriteFile”和“DeleteFile”在代码后面定义,但没有什么特别之处。

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

现在我想做这样的事情,但为了简单起见,我使用 Redis pubsub 而不是 ZeroMQ。据我了解,node_redis 模块的“发布”函数中没有回调。

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

最佳答案

redis 模块的所有命令 have an optional callback as the last argument .

所以做类似的事情

client.publish('channel', 'message', function(err) {
if (err) throw err;
});

应该按预期工作。

关于node.js - Redis pubsub 消息队列,但有回调,就像在 ZeroMQ 中一样,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25994571/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com