thinkphp5.0消息队列topthink/think-queue详解

第一、安装topthink/think-queue

composer require topthink/think-queue=1.1.6

第二、配置queue.php信息

找到应用目录下面的extra/queue.php进行配置,队列驱动有三种,包括sync/redis/database,下面以redis为例

thinkphp5.0消息队列topthink/think-queue详解_第1张图片

如果选择database驱动,则需要创建数据表,数据表如下

thinkphp5.0消息队列topthink/think-queue详解_第2张图片

第三、创建任务类

推荐使用app\job作为任务类的指定空间,也可以随意选择可以自动加载到的地方

任务类不需要继承任何类,如果这个类只有一个任务,那么只要提供一个fire方法就可以了,如果有多个小任务,就写多个,下面发布任务的时候的几个参数

 

think\queue\Job $job(当前的$data自定义数据)

如果需要任务执行超过次数失败后,可以增加failed方法

thinkphp5.0消息队列topthink/think-queue详解_第3张图片

 第四、发布任务

以下模拟用户注册成功后发送短信提醒用户,发送短信这个功能也就是发布一个任务(队列)

thinkphp5.0消息队列topthink/think-queue详解_第4张图片

第五、监听任务并执行

php think queue:listen --queue message

 

这里是队列的监听,下面我们执行下用户注册方法查看具体结果

执行第四步我们创建的用户注册方法,执行这个方法后就发布了一个新的任务

 

 监听到有新的任务后会自动执行我们创建的任务类的fire方法

 thinkphp5.0消息队列topthink/think-queue详解_第5张图片

你可能感兴趣的:(php,开发语言)