softonic/laravel-queue-job
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.
Related Packages
Powerful PHP database abstraction layer (DBAL) with many features for database s...
Laravel Serializable Closure provides an easy and secure way to serialize closur...
Cli error handling for console/command-line PHP applications.