[yii2-queue] 使用yii2-queue執行多佇列方法
阿新 • • 發佈:2018-12-09
這道題是我對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原創視訊等你來學。