Enqueue is an MIT-licensed open source project with its ongoing development made possible entirely by the support of community and our customers. If you’d like to join them, please consider:
The driver works with RabbitMQ queues.
In order for it to work you should add any amqp interop compatible transport to your project, for example
It would work with any amqp interop compatible transports, such as
- Supports priorities
- Supports delays
- Supports ttr
- Supports attempts
- Contains new options like: vhost, connection_timeout, qos_prefetch_count and so on.
- Supports Secure (SSL) AMQP connections.
- An ability to set DSN like: amqp:, amqps: or amqp://user:pass@localhost:1000/vhost
return [ 'bootstrap' => [ 'queue', // The component registers own console commands ], 'components' => [ 'queue' => [ 'class' => \yii\queue\amqp_interop\Queue::class, 'port' => 5672, 'user' => 'guest', 'password' => 'guest', 'queueName' => 'queue', 'driver' => yii\queue\amqp_interop\Queue::ENQUEUE_AMQP_LIB, // or 'dsn' => 'amqp://guest:guest@localhost:5672/%2F', // or, same as above 'dsn' => 'amqp:', ], ], ];
Console is used to listen and process queued tasks.
listen command launches a daemon which infinitely queries the queue. If there are new tasks they’re immediately obtained and executed. This method is most efficient when command is properly daemonized via supervisor.
listen command has options:
-v: print executing statuses into console.
--isolate: verbose mode of a job execute. If enabled, execute result of each job will be printed.
--color: highlighting for verbose mode.