【问题标题】:Redis pubsub message queue but with callback, as in ZeroMQRedis pubsub 消息队列,但带有回调,如 ZeroMQ
【发布时间】:2014-11-17 15:05:20
【问题描述】:

我发现以下代码用 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 中完成。我知道我正在抓住稻草,但如果有人有任何想法,我会很乐意倾听。

【问题讨论】:

    标签: node.js redis zeromq


    【解决方案1】:

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

    所以做类似的事情

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

    应该按预期工作。

    【讨论】:

    • 将检查并报告。提前致谢!
    • 确认,确实如此。
    猜你喜欢
    • 2012-09-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-02-04
    • 1970-01-01
    • 2018-02-18
    • 2019-02-10
    相关资源
    最近更新 更多