189 8069 5689

swoole多进程消息系统的示例分析-创新互联

小编给大家分享一下swoole多进程消息系统的示例分析,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!

创新互联建站是一家网站设计公司,集创意、互联网应用、软件技术为一体的创意网站建设服务商,主营产品:响应式网站、品牌网站设计网络营销推广。我们专注企业品牌在网站中的整体树立,网络互动的体验,以及在手机等移动端的优质呈现。成都网站制作、做网站、外贸营销网站建设、移动互联产品、网络运营、VI设计、云产品.运维为核心业务。为用户提供一站式解决方案,我们深知市场的竞争激烈,认真对待每位客户,为客户提供赏析悦目的作品,网站的价值服务。

场景:适用于大部分消息队列场景,我列举几个常见地方:订单自动取消并归还库存,自动收货,群发邮件,推送微信消息模板,异步邮件发送,会员到期自动取消等等。

一、我们开始看下这个消息端系统的实现流程。

然后把业务逻辑写在Job类,分别两个方法 [ doJob => 自定义业务, after=> 业务后续操作]

swoole多进程消息系统的示例分析

二、Serve-Queue 详细讲解流程:

1、安装 git clone https://github.com/twomiao/Serve.git , 然后执行命令:Composer install

2、cd Serve/app/ 打开目录,效果图:

swoole多进程消息系统的示例分析

3、目录介绍: Config、Services、Utils、Job、Func

(1)Config 配置文件目录 (Redis,MySQL,Serve-Queue)


(2)Services 业务分层 ( OrderService)


(3)Utils 工具类 (邮件,短信等等),Helper 等同


(4)Job 目录 (Job::doJob() 业务编写在里面,不要更改Job类名称)


(5)Func 常用函数 ( env, db为例)


(6)log 日志目录以及TEST目录(模拟数据文件在里面)


三、Serve-Queue 运行流程:

php serve start 命令启动:

swoole多进程消息系统的示例分析

投递模拟数据, 通过 php test/placeOrder.php 1000

swoole多进程消息系统的示例分析

swoole 开始多进程处理,订单数据

swoole多进程消息系统的示例分析

php serve reload:平滑重启Task进程,等同更新(new Job())->doJob()方法;


新增加文字提醒 “2333, 平滑重启成功”; 哈哈,其实说明已经生效啦!

swoole多进程消息系统的示例分析

swoole多进程消息系统的示例分析

守护进程运行:命令执行 php serve start -d

swoole多进程消息系统的示例分析

swoole多进程消息系统的示例分析

投递一笔订单,我们测试看下呢?-1 待支付状态 0 已自动取消

swoole多进程消息系统的示例分析

提醒:测试文件在 Serve/data/sp_order.sql

四、实现上述过程,需要下面的这些环境安装


1、安装Redis 作为队列, MySQL 数据库

2、通过命令 pecl install swoole, pecl install seaslog 完成扩展安装


php --ini 命令确定 php.ini 位置, 把 swoole.so 和 seaslog.so 添加上去即可


3、通过Mix Delayer 工具(实现延时)


下载地址:https://github.com/mix-basic/delayer/releases


使用说明: https://github.com/mix-basic/delayer-client-php


4、管理Serve 命令,分别有:php serve start | stop | reload | reload:all


5、Git 仓库地址:

https://github.com/twomiao/Serve.git  (Redis 延时队列)


https://github.com/twomiao/Jober

看完了这篇文章,相信你对“swoole多进程消息系统的示例分析”有了一定的了解,如果想了解更多相关知识,欢迎关注创新互联行业资讯频道,感谢各位的阅读!


标题名称:swoole多进程消息系统的示例分析-创新互联
分享URL:http://jkwzsj.com/article/dpdjes.html

其他资讯