3
这道题是我对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原创视频等你来学。


阿北
4.1k 声望913 粉丝

引用和评论

0 条评论