becklyn / messaging
0.1.2
2021-12-03 11:24 UTC
Requires
- php: >=8.0
- doctrine/orm: ^2.10
- predis/predis: ^1.1
- symfony/serializer: ^5.4 || ^6.0
- symfony/var-dumper: ^5.4 || ^6.0
This package is auto-updated.
Last update: 2024-08-29 06:01:38 UTC
README
becklyn/messaging 提供了异步消息传递的技术无关抽象。
🚧 目前仅提供 Redis 后端!
安装
composer require becklyn/messaging
入门指南
使用 MessageBuilder 创建消息。默认情况下,基于 Symfony Serializer 有一个 JSON Builder。可以使用 Publisher 发布消息。
$builder = new SymfonyJsonSerializedMessageBuilder($serializer); $message = $builder->build("content", "destination"); $publisher = new Publisher($connection, $serializer); $publisher->publish($message);
消费消息与发布消息一样简单。为此,库提供了一个 Consumer。与 Worker 一起,可以在消息投递时处理消息。
class SampleWorker implements Worker { public function execute(Message $message) : void { // TODO: Process the received message ... \var_dump($message); } }
$queue = new QueueDefinition("destination"); $params = new ConsumerParams(); $consumer = new Consumer($connection, $serializer, $lifecycleManager); $consumer->consume(new SampleWorker(), $queue, $params);