Queue-interop async decorator for CQRS command bus
composer require phpgears/cqrs-async-queue-interop
Require composer autoload file
require './vendor/autoload.php';
Please review phpgears/cqrs-async for more information on async command bus
use Gears\CQRS\Async\AsyncCommandBus;
use Gears\CQRS\Async\QueueInterop\QueueInteropCommandQueue;
use Gears\CQRS\Async\Serializer\JsonCommandSerializer;
use Gears\CQRS\Async\Discriminator\ParameterCommandDiscriminator;
/* @var \Gears\CQRS\CommandBus $commandBus */
/* @var \Interop\Queue\PsrContext $context */
/* @var \Interop\Queue\PsrDestination $destination */
$commandQueue = new QueueInteropCommandQueue(new JsonCommandSerializer(), $context, $destination);
$asyncCommandBus new AsyncCommandBus(
$commandBus,
$commandQueue,
new ParameterCommandDiscriminator('async')
);
$asyncCommand = new CustomCommand(['async' => true]);
$asyncCommandBus->handle($asyncCommand);
There are some queue-interop implementations available such as Enqueue which supports an incredible number of message queues
Found a bug or have a feature request? Please open a new issue. Have a look at existing issues before.
See file CONTRIBUTING.md
See file LICENSE included with the source code for a copy of the license terms.