PHP异步进程async-helper实例详解
PHP 的异步进程助手,借助于 AMQP 实现异步执行 PHP 的方法,将一些很耗时、追求高可用、需要重试机制的操作放到异步进程中去执行,将你的 HTTP 服务从繁重的业务逻辑中解脱出来。以一个较低的成本将传统 PHP 业务逻辑转换成非阻塞、高可用、可扩展的异步模式。本文主要和大家介绍PHP异步进程助手async-helper的详细用法以及相关代码实例,对此有需要的朋友学习下。希望能帮助到大家。
依赖
php 5.6+
ext-bcmath
ext-amqp 1.9.1+
ext-memcached 3.0.3+
安装
通过 composer 安装
1 |
composer require l669/async-helper |
或直接下载项目源码
1 |
wget https://github.com/l669306630/async-helper/archive/master.zip |
使用范例
业务逻辑:这里定义了很多等待被调用的类和方法,在你的项目中这可能是数据模型、或是一个发送邮件的类。
1 2 3 4 5 6 7 8 9 10 11 12 13 |
<?php class SendMailHelper { /** * @param array $mail * @throws Exception */ public static function request($mail) { // 在这里发送邮件,或是通过调用第三方提供的服务发送邮件 // 发送失败的时候你抛出了异常,希望被进程捕获,并按设定的规则进行重试 } } |
生产者:通常是 HTTP 服务,传统的 PHP 项目或是一个命令行程序,接收到某个请求或指令后进行一系列的操作。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 2 |