这道题是我对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原创视频等你来学。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。