ioredis(v3.2.2(似乎没有监听我的Redis pub/sub事件,我不确定为什么
我正在启动一个侦听传入消息的服务器,如:
var Redis = require('ioredis');
redis.monitor(function (err, monitor) {
monitor.on('monitor', function (time, args, source, database) {
console.log(time + ": " + util.inspect(args));
});
});
redis.psubscribe('*', function(err, count) {
console.log("Listening to " + count + " channels.");
if(err){
console.log(err);
}
});
// republish any data received
redis.on('pmessage', function(subscribed, channel, message) {
console.log("pmessage: " + message);
});
当我运行上述程序时,日志输出显示:
Listening to 1 channels.
当我将消息发布到redis服务器的队列中时,日志输出显示:
1531403083.031496: [ 'SELECT', '0' ]
1531403083.036594: [ 'RPUSH',
'queues:myqueuename',
'{## JSON message body ##}' ]
所以:我清楚地连接到服务器并接收数据,但我不明白:
- 为什么
monitor
回调没有记录PSUBSCRIBE或PUBLISH事件,这可能就是为什么: pmessage
回调函数未被激发
有什么建议吗?
已解决。我忘了启动队列侦听器服务,如本文所述:https://laravel.com/docs/5.1/events#broadcasting-事件