小编给大家分享一下swoole多进程消息系统的示例分析,希望大家阅读完这篇文章之后都有所收获、下面让我们一起去探讨吧!
场景:适用于大部分消息队列场景,我列举几个常见地方:订单自动取消并归还库存,自动收的货,群发邮件,推送微信消息模板,异步邮件发送,会员到期自动取消等等。
一,我们开始看下这个消息端系统的实现流程。
然后把业务逻辑写在工作类,分别两个方法[doJob=比;后,自定义业务=比;业务后续操作]
二,Serve-Queue详细讲解流程:
1,安装git克隆https://github.com/twomiao/Serve.git,然后执行命令:作曲家安装
2, cd/应用程序/服务打开目录,效果图:
3,目录介绍:配置,服务,跑龙套,工作,Func
(1)配置配置文件目录(复述,MySQL, Serve-Queue)
(2)服务的业务分层(OrderService)
(3)跑龙套工具类(邮件,短信等等),辅助等同
工作(4)目录(工作:doJob()业务编写在里面,不要更改工作类名称)
(5)函数常用函数(env, db为例)
(6)日志日志目录以及测试目录(模拟数据文件在里面)
三,Serve-Queue运行流程:
php服务开始命令启动:
投递模拟数据,通过php测试/placeOrder。php 1000
swoole开始多进程处理,订单数据
php服务重载:平滑重启任务进程,等同更新(新工作())→doJob()方法;
新增加文字提醒”2333年,平滑重启成功”;哈哈,其实说明已经生效啦!
守护进程运行:命令执行php服务开始- d
投递一笔订单,我们测试看下呢? 1待支付状态0已自动取消
提醒:测试文件在服务/数据/sp_order。sql
四,实现上述过程,需要下面的这些环境安装
1,安装复述,作为队列,MySQL数据库
2,通过命令pecl安装swoole pecl安装seaslog完成扩展安装
php——ini命令确定php。ini位置,把swoole。所以和seaslog。因此添加上去即可
3,通过混合延迟器工具(实现延时)
下载地址:https://github.com/mix-basic/delayer/releases
使用说明:https://github.com/mix-basic/delayer-client-php
4,管理为命令,分别有:php服务启动|停止|重载|重载:所有
5, Git仓库地址:https://github.com/twomiao/Serve.git
,(复述,延时队列)
https://github.com/twomiao/Jober
看完了这篇文章,相信你对“swoole多进程消息系统的示例分析”有了一定的了解,如果想了解更多相关知识,欢迎关注行业资讯频道,感谢各位的阅读!