NodeJS-сервер без http для подписки Redis - PullRequest
0 голосов
/ 30 ноября 2018

Я хочу разработать процесс, который подписывается только на канал 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-фреймворков?

Ответы [ 2 ]

0 голосов
/ 30 ноября 2018

Вы не подписаны на канал:

sub.subscribe('channel');
0 голосов
/ 30 ноября 2018

Я использовал точный код выше, и процесс остается открытым.В приведенном выше коде вы не публикуете никаких сообщений, поэтому вы увидите только «подписку ...» и «готово», напечатанные на терминале.

Кроме того, как уже упоминалось, вы не подписываетесь на каналлибо.

...