Невозможно работать с несколькими очередями по команде rabbitmq: - PullRequest
0 голосов
/ 04 марта 2020

Я использую https://github.com/vyuldashev/laravel-queue-rabbitmq на люмен

  • Версия люмена: 6.3 Версия пакета: последняя

При запуске php artisan rabbitmq:command --queue="abc,default,xyz" я получаю следующую ошибку

В AMQPChannel. php строка 215:

NOT_FOUND - no queue 'store-to-db-queue,store-to-db-prio-3,store-to-db-prio  -2,store-to-db-prio-1,store-to-db-prio-0' in vhost '/'  

В качестве возможного решения я попытался сделать следующее:

$queueName = explode(',', $queue);
    foreach ($queueName as $name) {
        $name = $this->mode . $name;
        $this->channel->queue_declare(
            $name,
            false,
            true,
            false,
            false,
            false
        );
        $this->channel->basic_consume(
            $name,
            '',
            false,
            false,
            false,
            false,
            function (AMQPMessage $message) use ($connection, $options, $connectionName, $name): void {
                $this->gotJob = true;

                $job = new RabbitMQJob(
                    $this->container,
                    $connection,
                    $message,
                    $connectionName,
                    $name
                );

                if ($this->supportsAsyncSignals()) {
                    $this->registerTimeoutHandler($job, $options);
                }

                $this->runJob($job, $connectionName, $options);
            }
        );
    }

С указанным выше изменением задания работают, но при попытке освободить задание или повторить задание или задержать задание появляется следующая ошибка:

PRECONDITION_FAILED - неизвестный тег доставки 3

Как устранить такую ​​проблему?

...