【问题标题】:NodeJS server no http for Redis subscriptionNodeJS 服务器没有用于 Redis 订阅的 http
【发布时间】:2019-05-02 17:29:39
【问题描述】:

我想开发一个只订阅 Redis 频道并保持活动状态以处理收到的消息的进程。

我写了以下代码:

var redis = require("redis");
var sub = redis.createClient({host: process.env.REDIS_HOST});

console.log('subscribing...')
sub.on('subscribe', () => console.log('subscribed'));
sub.on('message', (ch, msg) => console.log(`Received message on ${ch}:${msg}`));
console.log('done')

但显然它不起作用:启动时它会遍历所有行并死掉。我认为我不需要像 Express 这样的框架,因为我的流程不使用 http。

如果不使用 http 框架,我如何编写一个“永远”保持活动状态的服务器?

【问题讨论】:

    标签: node.js redis publish-subscribe


    【解决方案1】:

    您没有订阅频道:

    sub.subscribe('channel');
    

    【讨论】:

      【解决方案2】:

      我使用了上面的确切代码,并且该过程保持打开状态。在上面的代码中,您没有发布任何消息,因此您只会看到“subscribing...”和“done”打印到终端。

      另外,如上所述,您也没有订阅该频道。

      【讨论】:

        猜你喜欢
        • 2019-01-27
        • 1970-01-01
        • 1970-01-01
        • 2016-03-13
        • 2020-11-22
        • 2016-05-09
        • 2011-10-23
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多