mrandmrssmith / idempotent-symfony-messenger-consumer-bundle
idempotent-consumer-bundle
Requires
- php: >=7.2
- ext-json: *
- mrandmrssmith/idempotent-consumer-bundle: ^1.0.0
- symfony/messenger: >=4.4
- symfony/property-access: >=4.4
- symfony/serializer: >=4.4
Requires (Dev)
- phpstan/phpstan: ^1.10
- phpstan/phpstan-phpunit: ^1.3
- phpunit/phpunit: >=8.5
- roave/security-advisories: dev-master
- symplify/easy-coding-standard: ^12.1
- vimeo/psalm: ^4.30||^5.22
This package is auto-updated.
Last update: 2024-09-19 09:55:20 UTC
README
这是一个为symfony messenger提供的功能,使您的消费者幂等的Bundle。
它基于mrandmrssmith/idempotent-consumer-bundle
,并提供了与symfony messenger的集成。
您可以使用mrandmrssmith/idempotent-consumer-doctrine-persistence-bundle
包来提供使用doctrine的持久化层。
它使用messenger事件来处理传入的、已处理或失败的消息。
安装
将此包添加到您的项目中
composer require mrandmrssmith/idempotent-symfony-messenger-consumer-bundle
使用方法
您必须记住实现IdempotentKeyResolver接口。接口位于核心Bundle mrandmrssmith/idempotent-consumer-bundle
默认情况下,它将尝试检查所有消息。
如果您想限制动作,以便只检查来自特定传输的消息或类的实例消息,您可以选择这样做
为此,您需要在Bundle配置yaml文件mms_idempotent_consumer_symfony_messenger.yaml中覆盖一些属性的值。
- 配置支持的消息
mms_idempotent_consumer_symfony_messenger: supported_messages: - App\Message\YourMessage - App\Message\YourSecondMessage
- 配置支持的传输
mms_idempotent_consumer_symfony_messenger: supported_transports: - your_transport_name - your_second_transport_name
如果您同时配置了这两个,它将首先检查传输,然后是消息。
- 您可以实现自己的投票者并替换默认投票者
MrAndMrsSmith\IdempotentConsumerSymfonyMessengerBundle\Voter\WantToCheckMessageVoter
mms_idempotent_consumer_symfony_messenger: voter: 'your_voter_service_id'
支持
🤗 如果您觉得可以改进这个包,请考虑贡献,否则通过GitHub页面提交问题,并尽可能包括详细信息,包括复现步骤、平台版本等,以帮助确定根本原因。
贡献
👍 如果您贡献了,我们感谢您,但请审阅CONTRIBUTING文档,以帮助我们确保项目保持一致性且易于维护。
版本控制
⌛ 此项目将遵循语义版本控制2.0.0。
变更
🛠️ 所有项目更改/发布都记录在GitHub发布页面和CHANGELOG文件中。
遵循keep a changelog中概述的约定。