1. 程式人生 > >[yii2-queue] 使用yii2-queue執行多佇列方法

[yii2-queue] 使用yii2-queue執行多佇列方法

這道題是我對segmentfault社群文章的一個回覆,也是一個典型問題,相信大家會遇到。

這個問題其實考察的是大家對yii2-queue這個庫存在的認知,對,它是一個元件,那也就是說我們可以在yii2中建立一個queue元件,也可以建立N個。

因此當我們想在yii2應用中部署多個yii2-queue佇列的時候,就變成了部署多個yii2-queue元件。

官方也是這樣提供的,假設我們現在要在自己的yii2應用中使用兩個佇列,一個是檔案型別,一個是redis型別,則配置如下

return [
    'bootstrap' => [
        'queue1',
        'queue2',
    ],
    'components' => [
        'queue1' => [
            'class' => \yii\queue\file\Queue::class
        ],
        'queue2' => [
            'class' => \yii\queue\redis\Queue::class
        ],
    ],
];

這樣就可以了,當然對於這兩個元件的使用,則要如下形式

Yii::$app->queue1;
Yii::$app->queue2;

就是元件的使用方法。

當我們要呼叫worker來執行的時候,在命令列也需要兩個命令。

php yii queue1/listen;// or queue1/run
php yii queue2/listen;// or queue2/run

就這樣就完成了。

阿北哥ya這裡有500+節yii2原創視訊等你來學。