cari
Rumahrangka kerja phpSwoole一文了解swoole多进程消息系统

一文了解swoole多进程消息系统

Nov 22, 2019 pm 04:50 PM
swoolepelbagai prosesSistem pemesejan

一文了解swoole多进程消息系统

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

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

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

1574411050(1).png

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

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

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

1574411068(1).png

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 命令启动:

1574411088(1).jpg

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

1574411107(1).jpg

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

1574411119(1).jpg

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

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

1574411133(1).jpg

1574411148(1).jpg

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

1574411164(1).png

1574411177(1).jpg

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

1574411192(1).jpg

提醒:测试文件在 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 

PHP中文网,大量的免费swoole入门教程,欢迎在线学习!

Atas ialah kandungan terperinci 一文了解swoole多进程消息系统. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan
Artikel ini dikembalikan pada:CSDN. Jika ada pelanggaran, sila hubungi admin@php.cn Padam

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

Video Face Swap

Video Face Swap

Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Alat panas

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

EditPlus versi Cina retak

EditPlus versi Cina retak

Saiz kecil, penyerlahan sintaks, tidak menyokong fungsi gesaan kod

VSCode Windows 64-bit Muat Turun

VSCode Windows 64-bit Muat Turun

Editor IDE percuma dan berkuasa yang dilancarkan oleh Microsoft

SecLists

SecLists

SecLists ialah rakan penguji keselamatan muktamad. Ia ialah koleksi pelbagai jenis senarai yang kerap digunakan semasa penilaian keselamatan, semuanya di satu tempat. SecLists membantu menjadikan ujian keselamatan lebih cekap dan produktif dengan menyediakan semua senarai yang mungkin diperlukan oleh penguji keselamatan dengan mudah. Jenis senarai termasuk nama pengguna, kata laluan, URL, muatan kabur, corak data sensitif, cangkerang web dan banyak lagi. Penguji hanya boleh menarik repositori ini ke mesin ujian baharu dan dia akan mempunyai akses kepada setiap jenis senarai yang dia perlukan.

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

Persekitaran pembangunan bersepadu PHP yang berkuasa