jeudi 14 octobre 2021

AMQP error while attempting pushRaw: ACCESS_REFUSED - operation not permitted on the default exchange

I have this application in Laravel 5.5 with PHP7.0. I am using this package vyuldashev/laravel-queue-rabbitmq

for pushing and receiving jobs from RabbitMQ. Here is my config:

'worker' => [
            'driver' => 'rabbitmq',
            'factory_class' => \Enqueue\AmqpLib\AmqpConnectionFactory::class,
            'host' => env('RABBITMQ_HOST'),
            'port' => env('RABBITMQ_PORT'),
            'vhost' => env('RABBITMQ_VHOST'),
            'login' => env('RABBITMQ_LOGIN'),
            'password' => env('RABBITMQ_PASSWORD'),
            'queue' => env('RABBITMQ_JOB_QUEUE') . ',' . env('RABBITMQ_PROCESSED_QUEUE'),
            'options' => [
                'exchange' => [
                    'name' => env('RABBITMQ_EXCHANGE_NAME', null),
                    'declare' => env('RABBITMQ_EXCHANGE_DECLARE', true),
                    'type' => env('RABBITMQ_EXCHANGE_TYPE', \Interop\Amqp\AmqpTopic::TYPE_DIRECT),
                    'passive' => env('RABBITMQ_EXCHANGE_PASSIVE', false),
                    'durable' => env('RABBITMQ_EXCHANGE_DURABLE', true),
                    'auto_delete' => env('RABBITMQ_EXCHANGE_AUTODELETE', false),
                    'arguments' => env('RABBITMQ_EXCHANGE_ARGUMENTS'),
                ],
                'queue' => [
                    'name' => env('RABBITMQ_EXCHANGE_NAME', env('RABBITMQ_JOB_QUEUE') . ',' . env('RABBITMQ_PROCESSED_QUEUE')),
                    'declare' => env('RABBITMQ_QUEUE_DECLARE', true),
                    'bind' => env('RABBITMQ_QUEUE_DECLARE_BIND', true),
                    '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),
                    'arguments' => env('RABBITMQ_QUEUE_ARGUMENTS'),
                ],
            ],
        ],

Now as you can see in the "queue" index I have defined two queues. In the lower part of the config the index "queue" contains an array with "name" as having the same two queues. It works fine on my local env but on test server it throws this error:

AMQP error while attempting pushRaw: ACCESS_REFUSED - operation not permitted on the default exchange

Now this is my requirement that the same worker is monitoring two queues. I have to do it. How can I achieve this? Any solutions?



via Chebli Mohamed

Aucun commentaire:

Enregistrer un commentaire