I am using the vladimir-yuldashev / laravel-queue-rabbitmq library to use the RabbitMq queues in a Lumen project.
The functionality of the queue works fine, but in my log file I see a few errors below.
lumen.ERROR: PhpAmqpLib \ Exception \ AMQPRuntimeException: connection to the channel is closed. at / var / www / html / vendor / php -amqplib / php-amqplib / PhpAmqpLib / Channel / AbstractChannel.php: 227
From the error stack trace, it seems that the queue name is taken as "NULL". Here is my rabbitmq connection configuration from queue.php
'rabbitmq' => [
'driver' => 'rabbitmq',
'host' => env('RABBITMQ_HOST', 'rabbitmq'),
'port' => env('RABBITMQ_PORT', 5672),
'vhost' => env('RABBITMQ_VHOST', '/'),
'login' => env('RABBITMQ_LOGIN', 'guest'),
'password' => env('RABBITMQ_PASSWORD', 'guest'),
'queue' => env('RABBITMQ_QUEUE'),
'exchange_declare' => env('RABBITMQ_EXCHANGE_DECLARE', true),
'queue_declare_bind' => env('RABBITMQ_QUEUE_DECLARE_BIND', true),
'queue_params' => [
'passive' => env('RABBITMQ_QUEUE_PASSIVE', false),
'durable' => env('RABBITMQ_QUEUE_DURABLE', true),
'exclusive' => env('RABBITMQ_QUEUE_EXCLUSIVE', false),
'auto_delete' => env('RABBITMQ_QUEUE_AUTODELETE', false),
],
'exchange_params' => [
'name' => env('RABBITMQ_EXCHANGE_NAME', null),
'type' => env('RABBITMQ_EXCHANGE_TYPE', 'direct'),
'passive' => env('RABBITMQ_EXCHANGE_PASSIVE', false),
'durable' => env('RABBITMQ_EXCHANGE_DURABLE', true),
'auto_delete' => env('RABBITMQ_EXCHANGE_AUTODELETE', false),
],
'sleep_on_error' => env('RABBITMQ_ERROR_SLEEP', 5),
]
. . .
php artisan queue:work rabbitmq
php artisan queue:listen --queue=my-queue-1 --timeout=0
php artisan queue:listen --queue=my-queue-2 --timeout=0
php artisan queue:listen --queue=my-queue-3 --timeout=0
.
:
: , , . 2 1 .. ..