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