mrandmrssmith/idempotent-symfony-messenger-consumer-bundle

1.0.1 2024-09-19 09:54 UTC

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中覆盖一些属性的值。

  1. 配置支持的消息
mms_idempotent_consumer_symfony_messenger:
    supported_messages: 
        - App\Message\YourMessage
        - App\Message\YourSecondMessage
  1. 配置支持的传输
mms_idempotent_consumer_symfony_messenger:
    supported_transports: 
        - your_transport_name
        - your_second_transport_name

如果您同时配置了这两个,它将首先检查传输,然后是消息。

  1. 您可以实现自己的投票者并替换默认投票者MrAndMrsSmith\IdempotentConsumerSymfonyMessengerBundle\Voter\WantToCheckMessageVoter
mms_idempotent_consumer_symfony_messenger:
    voter: 'your_voter_service_id'

支持

🤗 如果您觉得可以改进这个包,请考虑贡献,否则通过GitHub页面提交问题,并尽可能包括详细信息,包括复现步骤、平台版本等,以帮助确定根本原因。

贡献

👍 如果您贡献了,我们感谢您,但请审阅CONTRIBUTING文档,以帮助我们确保项目保持一致性且易于维护。

版本控制

⌛ 此项目将遵循语义版本控制2.0.0

变更

🛠️ 所有项目更改/发布都记录在GitHub发布页面和CHANGELOG文件中。

遵循keep a changelog中概述的约定。