[Yii2] yii2-queue 基於redis 佇列測試學習

t918412發表於2021-08-04

#環境版本
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
],
如圖

[Yii2]   yii2-queue 基於redis 佇列測試學習

4.開啟命令列 進到專案目錄下 執行
(php) yii queue/listen
[Yii2]   yii2-queue 基於redis 佇列測試學習

  1. 開啟專案 編寫佇列任務程式碼
    新建目錄檔案 common\queue\TestQueue.php

[Yii2]   yii2-queue 基於redis 佇列測試學習

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...

本作品採用《CC 協議》,轉載必須註明作者和本文連結

相關文章