NodeJS 服务器没有用于 Redis 订阅的 http

NodeJS server no http for Redis subscription

我想开发一个进程,只订阅一个 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 框架的情况下编写一个保持活动状态的服务器 "forever"?

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

此外,如前所述,您也没有订阅该频道。

您没有订阅频道:

sub.subscribe('channel');