Yii2 queue

Общие вопросы по использованию второй версии фреймворка. Если не знаете как что-то сделать и это про Yii 2, вам сюда.
Ответить
vano.mig
Сообщения: 72
Зарегистрирован: 2016.11.21, 10:25

Yii2 queue

Сообщение vano.mig »

Добрый день. Нужно прикрутить очереди на проект, выбор пал на хваленный екстеншн yii2-queue. Интегрировал вроде нормально, очередь создается (использую драйвер DBб в базу запись пишется)
Но когда пытаюсь выполнить консольную команду получаю ошибку.
Прошу подскажите что не так

консольный конфиг main.php

Код: Выделить всё

<?php
$params = array_merge(
    require __DIR__ . '/../../common/config/params.php',
    require __DIR__ . '/../../common/config/params-local.php',
    require __DIR__ . '/params.php',
    require __DIR__ . '/main-local.php',
    require __DIR__ . '/params-local.php'
);

return [
    'id' => 'app-console',
    'basePath' => dirname(__DIR__),
    'bootstrap' => ['log', 'queue'],
    'controllerNamespace' => 'console\controllers',
    'aliases' => [
        '@bower' => '@vendor/bower-asset',
        '@npm'   => '@vendor/npm-asset',
    ],
    'controllerMap' => [
        'fixture' => [
            'class' => 'yii\console\controllers\FixtureController',
            'namespace' => 'common\fixtures',
        ],
    ],
    'components' => [
        'log' => [
            'targets' => [
                [
                    'class' => 'yii\log\FileTarget',
                    'levels' => ['error', 'warning'],
                ],
            ],
        ],
        'db' => [
            'class' => 'yii\db\Connection',
            'dsn' => 'mysql:host=127.0.0.1;dbname=mayer',
            'username' => 'ivan',
            'password' => 'cnfhjcnf2007',
            'charset' => 'utf8mb4',

        ],
        '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 used to sync queries
        ],
    ],
    'params' => $params,
];
ошибка

Код: Выделить всё

Exception 'yii\base\InvalidConfigException' with message 'Failed to instantiate component or class "yii\queue\db\Queue".'

in /var/www/mayer/vendor/yiisoft/yii2/di/Container.php:449

Stack trace:
#0 /var/www/mayer/vendor/yiisoft/yii2/di/Container.php(374): yii\di\Container->getDependencies('yii\\queue\\db\\Qu...')
#1 /var/www/mayer/vendor/yiisoft/yii2/di/Container.php(159): yii\di\Container->build('yii\\queue\\db\\Qu...', Array, Array)
#2 /var/www/mayer/vendor/yiisoft/yii2/BaseYii.php(365): yii\di\Container->get('yii\\queue\\db\\Qu...', Array, Array)
#3 /var/www/mayer/vendor/yiisoft/yii2/di/ServiceLocator.php(137): yii\BaseYii::createObject(Array)
#4 /var/www/mayer/vendor/yiisoft/yii2/base/Module.php(742): yii\di\ServiceLocator->get('queue', true)
#5 /var/www/mayer/vendor/yiisoft/yii2/base/Application.php(313): yii\base\Module->get('queue')
#6 /var/www/mayer/vendor/yiisoft/yii2/base/Application.php(273): yii\base\Application->bootstrap()
#7 /var/www/mayer/vendor/yiisoft/yii2/console/Application.php(124): yii\base\Application->init()
#8 /var/www/mayer/vendor/yiisoft/yii2/base/BaseObject.php(109): yii\console\Application->init()
#9 /var/www/mayer/vendor/yiisoft/yii2/base/Application.php(206): yii\base\BaseObject->__construct(Array)
#10 /var/www/mayer/vendor/yiisoft/yii2/console/Application.php(89): yii\base\Application->__construct(Array)
#11 /var/www/mayer/yii(20): yii\console\Application->__construct(Array)
#12 {main}

unknownby
Сообщения: 397
Зарегистрирован: 2019.11.05, 16:34
Контактная информация:

Re: Yii2 queue

Сообщение unknownby »

Что если так?

Код: Выделить всё

'queue' => [
            'class' => '\yii\queue\db\Queue',
            'db' => 'db', // DB connection component or its config
            'tableName' => '{{%queue}}', // Table name
            'channel' => 'default', // Queue channel key
            'mutex' => '\yii\mutex\MysqlMutex', // Mutex used to sync queries
        ],

vano.mig
Сообщения: 72
Зарегистрирован: 2016.11.21, 10:25

Re: Yii2 queue

Сообщение vano.mig »

не помогло, та же ошибка...

unknownby
Сообщения: 397
Зарегистрирован: 2019.11.05, 16:34
Контактная информация:

Re: Yii2 queue

Сообщение unknownby »

Таблицу правильно создал?
Может у тебя есть префиксы? tablePrefix
Вариант проверить вместо 127.0.0.1 сделать localhost

Сравнив с предлагаемыми настройками у тебя или таблица создана с префиксом или коннект не верный к бд.
Я использую такое локальное подключение к бд

Код: Выделить всё

return [
    'class' => 'yii\db\Connection',
    'dsn' => 'mysql:host=localhost;dbname=mydb',
    'username' => 'root',
    'password' => '',
    'charset' => 'utf8',
    'tablePrefix' => 'mydb_',
    'enableSchemaCache' => true,
];

vano.mig
Сообщения: 72
Зарегистрирован: 2016.11.21, 10:25

Re: Yii2 queue

Сообщение vano.mig »

Все правильно создал, база данных подключается и работает по всему проекту.
Правда она проксируется с другой виртуалки.

vano.mig
Сообщения: 72
Зарегистрирован: 2016.11.21, 10:25

Re: Yii2 queue

Сообщение vano.mig »

Ребята, всем спасибо, вопрос закрыт. Все работает отличноб, это я сам затупил - при заливке на сервер перетерся конфиг к базе данных

Ответить