automa.net / eventbus
EventBus 库
1.1
2024-08-26 18:07 UTC
Requires
- php: ^7.4|^8.0
- ext-json: *
- psr/container: ^1.0
- ramsey/uuid: ^4.2
Requires (Dev)
- ext-pcntl: *
- ext-sockets: *
- friendsofphp/php-cs-fixer: ^3.13
- php-amqplib/php-amqplib: ^3.7
- phpstan/phpstan: ^1.8
- phpunit/phpunit: ^9.5
- symfony/dependency-injection: ^5.4
README
EventBus 是一个发布/订阅事件总线库。
该库允许同时使用多个事件总线,为此请使用 EventBusManager
。然后您可以分别注册域事件总线和集成事件总线。
- 需要依赖注入容器!
驱动程序
- 直接 - 立即解析和派发事件到处理器。
- RabbitMQ - 在队列中发布事件,并使用消费者单独执行。
RabbitMq 驱动程序配置示例
$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 ], 'publisher' => [ 'project' => INTEGRATION_EVENTBUS_PROJECT_NAME, 'exchange' => INTEGRATION_EVENTBUS_AMQP_PUBLISHER_EXCHANGE, 'routing_key_prefix' => INTEGRATION_EVENTBUS_AMQP_PUBLISHER_ROUTING_KEY_PREFIX, ], ];