onWorkerStart里面可以非阻塞监听事件吗 事件可能来自消息队列、Redis?

0

目的是为了实现多进程推送实现广播,不想使用channel感觉有点复杂

已邀请:

walkor

赞同来自:

用 workerman的redis组件吧,它是异步非阻塞的,适合用来监听事件。
http://doc.workerman.net/components/workerman-redis.html


代码类似:


$worker = new Worker();
$worker->onWorkerStart = function () {
$redis = new Client('redis://127.0.0.1:6379');
$redis->subscribe(['news', 'blog'], function ($channel, $message) {
echo "$channel, $message";
});
};

这样你可以在任意项目(php项目、go项目、java项目等等)中通过redis->publish()给workerman发布事件。

要回复问题请先登录注册