phpgears/event-async-queue-interop

Queue-interop async decorator for Event bus

0.2 2019-10-01 20:55 UTC

This package is auto-updated.

Last update: 2024-10-17 06:36:54 UTC


README

PHP version Latest Version License

Build Status Style Check Code Quality Code Coverage

Total Downloads Monthly Downloads

Queue-interop async Event bus

Queue-interop async decorator for Event bus

Installation

Composer

composer require phpgears/event-async-queue-interop

Usage

Require composer autoload file

require './vendor/autoload.php';

Asynchronous Event Bus

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

Contributing

Found a bug or have a feature request? Please open a new issue. Have a look at existing issues before.

See file CONTRIBUTING.md

License

See file LICENSE included with the source code for a copy of the license terms.