我们在哪里配置项目中的Yii2队列扩展?

时间:2018-06-15 11:49:27

标签: configuration yii2

我正在尝试使用yii2队列 https://github.com/yiisoft/yii2-queue/blob/master/docs/guide/usage.md

它说:

  

要使用扩展程序,您必须将其配置为   以下内容:

type 'List<dynamic>' is not a subtype of type 'FutureOr<List<Map<String, double>>>'

我的问题很简单:在哪个PHP文件中,我应该把这段代码放在哪个目录中?

注意:我使用的是基本模板。

3 个答案:

答案 0 :(得分:4)

Yii2 Basic 模板config/console.php

Yii2高级模板console/config/main.php

return [
   'bootstrap' => [
      'log',
      'queue',
    ],
    'components' => [
       'queue' => [
          'class' => \yii\queue\db\Queue::class,
          'db' => 'db', // DB connection component or its config
          'tableName' => '{{%queue}}', // Table name
          'channel' => 'default', // Queue channel key
          'mutex' => \yii\mutex\MysqlMutex::class, // Mutex that used to sync queries
          'as log' => \yii\queue\LogBehavior::class,
          // 'deleteReleased' => YII_ENV_PROD,
       ],
    ]
];

参考Yii2 Queue extension guide

答案 1 :(得分:0)

添加到您正在使用的后端或前端的main.php文件中 A B 1 0.1 1 0.2 1 0.3 2 0.2 2 0.5 2 0.3 3 0.8 3 0.6 3 0.1


    'bootstrap'           => ['log', 'queue'],
  

要使其正常运行,您需要在控制台/config/main.php中进行相同的操作   文件并运行命令listen form documentaiton

答案 2 :(得分:-1)

在yii2 basic上配置它非常简单,在config / web.php文件中添加以下配置,如果使用前端则为yii2 advanced,然后在frontend / config / main.php中添加,如果你使用的话后端然后添加到backend / config.main.php。

就像这样

'components' => [
        'request' => [
            'cookieValidationKey' => 'htXdOInCiP6ut4gNbDO2',
            'csrfParam' => '_frontendCSRF',
        ],
        'queue' => [
            'class' => \yii\queue\<driver>\Queue::class,
            'as log' => \yii\queue\LogBehavior::class,
            // Other driver options
        ],
]