laravel-queue-job maintained by softonic
Laravel Queue Job
Custom Job implementation for vyuldashev/laravel-queue-rabbitmq library
:warning: This library works on vyuldashev/laravel-queue-rabbitmq. If you have questions about how to configure connections, feel free to read the vyuldashev/laravel-queue-rabbitmq documentation.
Requirements
- PHP >= 8.5
- Laravel 12.x
Main features
- Add support to have multiple Handlers for the same Routing key.
- Assign your Routing keys with your Handlers in the queue config file.
Installation
You can require the last version of the package using composer
composer require softonic/laravel-queue-job
Usage
Replace your RabbitMQJob class in the queue config file.
'connections' => [
// ...
'rabbitmq' => [
// ...
'options' => [
'queue' => [
// ...
'job' => \Softonic\LaravelQueueJob\RabbitMQJob::class,
],
],
],
// ...
],
Add your message_handlers mapping in queue config file:
'message_handlers' => [
TestHandler::class => [ // Handler
'#.test_v1.created.testevent', // Routing keys
'#.test_v1.replaced.testevent',
'#.test_v1.updated.testevent',
'global.test_v1.updated.testevent',
// ...
],
AnotherTestHandler::class => [
'#.test_v1.created.testevent',
'global.test_v1.updated.testevent',
// ...
],
// ...
],
Testing with artisan
Your
php artisan queue:work {connection-name} --queue={queue-name}
Testing
softonic/laravel-queue-job has a PHPUnit test suite, and a coding style compliance test suite using PHP CS Fixer.
To run the tests:
docker compose run --rm tests
To run PHPUnit only:
docker compose run --rm phpunit
To fix code style issues:
docker compose run --rm fixcs
To open a terminal in the dev environment:
docker compose run --rm php sh
License
The Apache 2.0 license. Please see LICENSE for more information.