swoole+Redis将实时数据的推送
centos⑥10 redis-④0.2 swoole-src-④④12 php-⑦1.5 MYsyql⑤7
1.开启swoole server端监听
2.开启swoole client连接执行定时执行
③使用swoole task 异步执行推送逻辑
服务端窗口
# php71 pushServer.php
# php71 pushClient.php start
开启后服务端窗口的变化
[root@111111 swoole_server]# php71 pushServer.php
Client-1: 连接成功
reactor-7 Client-1 接受数据: data=start
Client-1: 连接结束
Client-2: 连接成功
reactor-0 Client-2 接受数据: data=start
Client-3: 连接成功
Client-2: 连接结束
reactor-7 Client-3 接受数据: data=start
Client-3: 连接结束
Client-4: 连接成功
reactor-0 Client-4 接受数据: data=start
Client-4: 连接结束
Client-5: 连接成功
reactor-7 Client-5 接受数据: data=start
Client-5: 连接结束
2019-12-14 01:29:15reactor-7 client-1 timer-2: 定时器第1 次执行
redis添加数据
向order_designer_list队列中添加数据
12⑦0.0.1:6379> LPUSH order_designer_list 1912136916313##150481##1576140373##oLvqQwo25p5myELvO5VXj0k-7ngk##李伟测试##13926
(integer) 1
12⑦0.0.1:6379> LRANGE order_designer_list 0 10
1) "1912136916313##150481##1576140373##oLvqQwo25p5myELvO5VXj0k-7ngk##李伟测试##13926"
值为:订单号##orderId##分配到期时间(uninx时间戳)##微信openid##设计师用户名##设计师userid
服务端窗口的变化
2019-12-14 01:29:15reactor-7 client-1 timer-2 taskid=0 :投递异步任务 data=1912136916313_150481_1576140373_oLvqQwo25p5myELvO5VXj0k-7ngk_李伟测试_13926
2019-12-14 01:29:15执行任务 id=0 data= 1912136916313_150481_1576140373_oLvqQwo25p5myELvO5VXj0k-7ngk_李伟测试_13926
任务完成 id=0 结果=1912136916313_150481_1576140373_oLvqQwo25p5myELvO5VXj0k-7ngk_李伟测试_13926已经派单过
数据分析数据通过微信消息模板接口,将信息内容发送到客户微信公众号上将监控日志和错误日志写入mysql数据库
├── composer.json
├── composer.lock
├── swoole_server
│? ├── 2019-12-13-swoole.log
│? ├── 2019-12-14-swoole.log
│? ├── DispatchOrder.php
│? ├── pushClient.php
│? ├── pushServer.php
│? ├── Runtime.php
└── vendor
│? ├── 忽略php类库文件
│? ├── ....
{
}
}
date("Y-m-d") . '-swoole.log',
]);
$object = new swoolePush();
//监听连接进入事件
$serv->on('Connect', [$object, 'connectHandle']);
//监听数据接收事件
$serv->on('Receive', [$object, 'receiveHandle']);
//监听连接关闭事件
$serv->on('Close', [$object, 'closeHandle']);
//处理异步任务
$serv->on('task', [$object, 'taskHandle']);
//处理异步任务的结果
$serv->on('finish', [$object, 'finishHandle']);
//启动服务器
$serv->start();
以上就是土嘎嘎小编为大家整理的基于swoole+Redis的消息实时推送通知相关主题介绍,如果您觉得小编更新的文章只要能对粉丝们有用,就是我们最大的鼓励和动力,不要忘记讲本站分享给您身边的朋友哦!!