在yii2论坛中看到一个关于队列的帖子,感觉不错.http://www.yiichina.com/extension/1084
(注:SendMail 错写为 SendMial,粘贴时要注意了.)在使用的过程中觉得挺好的,建议看一下关于队列的原理.
shmilyzxt/yii2-queue
简单解释:
我用的yii2高级版,我们从配置开始看代码,这里我用的是mysql队列,首先配置文件,我把
queue
配置项写在根目录common\config\main-local.php
下的components
数组下,更改一下数据库配置.复制composer
安装后复制vendor\shmilyzxt\yii2-queue\jobs\jobs.sql
vendor\shmilyzxt\yii2-queue\failed\failed.sql
2个sql文件到数据库中建立队列数据表和执行任务失败时的数据表.推送任务开始语法:
\Yii::$app->queue->pushOn(new SendMial(),['email'=>'49783121@qq.com','title'=>'test','content'=>'email test'],'email');
我们到vendor\shmilyzxt\queue\queues\DatabaseQueue.php
去看看代码,pushOn()
方法写在了DatabaseQueue
类的父类vendor\shmilyzxt\queue\base\Queue.php
中:
|
|
注释:这里最好去看看yii2 event事件类,http://www.digpage.com/event.html
more >>