Задать вопрос
Пользователь пока ничего не рассказал о себе

Наибольший вклад в теги

Все теги (1)

Лучшие ответы пользователя

Все ответы (3)
  • Как создать очередь и запустить воркер динамически в yii2-queue?

    @sehav
    Мое решение:
    Отнаследовался от redisCommand
    use yii\queue\redis\Command;
    
    class RedisCommand extends Command
    {
        public function actionRun($channel = null)
        {
            if ($channel !== null) {
                $this->queue->channel = $channel;
            }
    
            return $this->queue->run(false);
        }
    }

    Подключил его в консольном конфиге
    'queue' => [
                'class' => \yii\queue\redis\Queue::class,
                'commandClass' => \app\commands\RedisCommand::class,
                'redis' => 'redis',
                'channel' => 'default', // Queue channel key
                'as log' => \yii\queue\LogBehavior::class,
            ]

    В консоли одноразово
    yii queue/run channel_group_1

    Для listen аналогично переопределите метод actionListen, только канал вторым параметром
    Команда будет выглядеть
    yii queue/run 3 channel_group_1
    Ответ написан
    Комментировать