Yii yii2-queue 基本使用

1. 安装:

   执行命令

php composer.phar require --prefer-dist yiisoft/yii2-queue
  或者添加
"yiisoft/yii2-queue": "~2.1"

  到 composer.json 文件

2.配置:

  yii2-queue 可选驱动有  DB, Redis, RabbitMQ, AMQP, Beanstalk and Gearman.  也可配置成 sync

DB 队列:

首先配置 console

'controllerMap' => [
        // ...
        'migrate' => [
            'class' => yii\console\controllers\MigrateController::class,
            'migrationPath' => null,
            'migrationNamespaces' => [
                // ...
                'yii\queue\db\migrations',
            ],
        ],
    ],

可以在console中 使用数据库迁移工具迁移数据库

配置gii 

'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,
            ]

        ));

猜你喜欢

转载自www.cnblogs.com/apper/p/9191699.html
yii