automa.net/eventbus

EventBus library

Installs: 7 312

Dependents: 0

Suggesters: 0

Security: 0

Stars: 1

Watchers: 0

Forks: 0

Open Issues: 0

pkg:composer/automa.net/eventbus

1.2 2025-08-05 13:27 UTC

This package is auto-updated.

Last update: 2025-10-05 13:49:54 UTC


README

Latest Stable Version Latest Unstable Version License PHP Version Require

EventBus is a publish/subscribe event bus library.

The library gives the possibility to use multiple events buses at once, to do that use EventBusManager. Then you can register separately Domain EventBus and Integration EventBus.

  • Required dependency injection container!

Drivers:

  • Direct - Instant resolve and dispatch event on handlers.
  • RabbitMQ - Publish events on queue and execute them separately using consumers.

Example of RabbitMq driver config:

$config = [
    'host' => INTEGRATION_EVENTBUS_AMQP_HOST,
    'port' => INTEGRATION_EVENTBUS_AMQP_PORT,
    'user' => INTEGRATION_EVENTBUS_AMQP_USER,
    'password' => INTEGRATION_EVENTBUS_AMQP_PASSWORD,
    'vhost' => INTEGRATION_EVENTBUS_AMQP_VHOST,
    'options' => [],

    'consumer' => [
        'queue' => INTEGRATION_EVENTBUS_AMQP_CONSUMER_QUEUE,
        'enable_heartbeat_sender' => false,
        'prefetch_count' => 3,
        'max_retries' => 3 // Default 3,
        'parking_lot_queue_name' => null // When max retries are exceeded and parking_lot is not set up, the message will be dropped.
    ],

    'publisher' => [
        'project' => INTEGRATION_EVENTBUS_PROJECT_NAME,
        'exchange' => INTEGRATION_EVENTBUS_AMQP_PUBLISHER_EXCHANGE,
        'routing_key_prefix' => INTEGRATION_EVENTBUS_AMQP_PUBLISHER_ROUTING_KEY_PREFIX,
    ],
];