1. 安装:php
执行命令sql
php composer.phar require --prefer-dist yiisoft/yii2-queue
或者添加
"yiisoft/yii2-queue": "~2.1"
到 composer.json
文件数据库
2.配置:json
yii2-queue 可选驱动有 DB, Redis, RabbitMQ, AMQP, Beanstalk and Gearman. 也可配置成 syncyii2
DB 队列:app
首先配置 consolecomposer
'controllerMap' => [ // ... 'migrate' => [ 'class' => yii\console\controllers\MigrateController::class, 'migrationPath' => null, 'migrationNamespaces' => [ // ... 'yii\queue\db\migrations', ], ], ],
能够在console中 使用数据库迁移工具迁移数据库frontend
配置gii yii
'modules' => [ 'gii' => [ 'class' => 'yii\gii\Module', 'generators' => [ 'jobs' => yii\queue\gii\Generator::class, ], ] ],
能够经过gii 建立job文件工具
取一个名字配置到 components 做为一个组件
'queue' => [ 'class' => yii\queue\db\Queue::class, ], 'mutex' => yii\mutex\MysqlMutex::class,
使用:
经过 gii建立一个job类
namespace frontend\jobs; /** * Class TestJob. */ class TestJob extends \yii\base\BaseObject implements \yii\queue\JobInterface { public $prop1; public $prop2; /** * @inheritdoc */ public function execute($queue) { } }
push任务
Yii::$app->queue->push(new TestJob( [ 'prop1' => 1, 'prop2' => 2, ] ));