Я хочу разработать процесс, который подписывается только на канал Redis и остается активным для обработки полученных сообщений.
Я написал следующий код:
var redis = require("redis");
var sub = redis.createClient({host: process.env.REDIS_HOST});
console.info('subscribing...')
sub.on('subscribe', () => console.info('subscribed'));
sub.on('message', (ch, msg) => console.info(`Received message on ${ch}:${msg}`));
console.info('done')
Но явно не работает: при запуске проходит все строки и умирает. Я думаю, мне не нужен фреймворк вроде Express, потому что мой процесс не использует http.
Как я мог написать сервер, который оставался бы в живых «вечно», не используя фреймворки http?





Я использовал точный код, приведенный выше, и процесс остается открытым. В приведенном выше коде вы не публикуете никаких сообщений, поэтому вы увидите только «подписка ...» и «готово», напечатанные на терминале.
Кроме того, как уже упоминалось, вы также не подписываетесь на канал.
Вы не подписываетесь на канал:
sub.subscribe('channel');