crutch / consumer
消费者接口
v1.0.0
2023-01-19 11:56 UTC
Requires
- php: ^7.4 || ^8.0
This package is not auto-updated.
Last update: 2024-09-12 23:26:08 UTC
README
注意:这不是一个独立的消费者实现。它仅仅是对消费者组件的抽象描述。
您可以使用\Crutch\Consumer\Consumers\RouteConsumer
按主题分割消费者
<?php /** @var Crutch\Consumer\Consumer $defaultConsumer */ /** @var Crutch\Consumer\Consumer $topicOneConsumer */ /** @var Crutch\Consumer\Consumer $topicTwoConsumer */ /** @var Crutch\Consumer\ConsumerHandler $handler */ $consumer = new Crutch\Consumer\Consumers\RouteConsumer($defaultConsumer); $consumer->setConsumer('one', $topicOneConsumer); $consumer->setConsumer('two', $topicTwoConsumer); $consumer->consume('one', $handler); // consumed by $topicOneConsumer $consumer->consume('two', $handler); // consumed by $topicTwoConsumer $consumer->consume('three', $handler); // consumed by $defaultConsumer
您可以使用\Crutch\Consumer\Handlers\RouteHandler
按主题分割处理器
<?php /** @var Crutch\Consumer\ConsumerHandler $defaultHandler */ /** @var Crutch\Consumer\ConsumerHandler $topicOneHandler */ /** @var Crutch\Consumer\ConsumerHandler $topicTwoHandler */ $handler = new Crutch\Consumer\Handlers\RouteHandler($defaultHandler); $handler->setHandler('one', $topicOneHandler); $handler->setHandler('two', $topicTwoHandler); $handler->handle('message 1', 'one'); // handled by $topicOneHandler $handler->handle('message 2', 'two'); // handled by $topicTwoHandler $handler->handle('message 3', 'three'); // handled by $defaultHandler