Queue-interop async decorator for Event bus
composer require phpgears/event-async-queue-interop
Require composer autoload file
require './vendor/autoload.php';
Please review phpgears/event-async for more information on async event bus
use Gears\Event\Async\AsyncEventBus;
use Gears\Event\Async\QueueInterop\QueueInteropEventQueue;
use Gears\Event\Async\Serializer\JsonEventSerializer;
use Gears\Event\Async\Discriminator\ParameterEventDiscriminator;
/* @var \Gears\Event\EventBus $eventBus */
/* @var \Interop\Queue\PsrContext $context */
/* @var \Interop\Queue\PsrDestination $destination */
$eventQueue = new QueueInteropEventQueue(new JsonEventSerializer(), $context, $destination);
$asyncEventBus = new AsyncEventBus(
$eventBus,
$eventQueue,
new ParameterEventDiscriminator('async')
);
$asyncEvent = CustomEvent::occurred(['async' => true]);
$asyncEventBus->dispatch($asyncEvent);
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.