#环境版本
windows 下 php7.3 + Yii2.0.42 基础版 + redis3.0.5
1. 下载 yii2-queue 扩展
composer require –prefer-dist yiisoft/yii2-queue
2. 下载 yii2-redis
composer require –prefer-dist yiisoft/yii2-redis
3. 添加配置组件 在文件 config\console.php ,config\web.php 都添加
‘redis’ => [
‘class’ => ‘yii\redis\Connection’,
‘hostname’ => ‘localhost’,
‘port’ => ‘6379’,
‘database’ => 0,
‘password’ => ‘xxxxx’,
],
‘queue’ => [
‘class’ => \yii\queue\redis\Queue::class,
‘as log’ => \yii\queue\LogBehavior::class,// 默认为 console/runtime/logs/app.log
‘redis’ => ‘redis’, // 连接组件或它的配置
‘channel’ => ‘queue’, // Queue channel key
],
如图
打开命令行 进到项目目录下 执行
yii queue/listen
- 打开项目 编写队列任务代码
新建目录文件 common\queue\TestQueue.php
6. 控制器 调用队列处理任务
<?php
namespace app\controllers;
use Yii;
use yii\web\Controller;
use app\common\queue\TestQueue;
// 队列测试
class TestController extends Controller
{
public function actionIndex()
{
// 业务处理代码
// 调用队列处理
$job = new TestQueue([‘name’ => ‘zhang’, ‘id’ => 1]);
\Yii::$app->queue->push($job);
}
}
7. 浏览器访问 test/index 方法 运行结果
测试 zhang–1
8.yii2-queue github 地址
github.com/yiisoft/yii2-queue/blob...