Symfony:通过电子邮件发送失败的消息

问题描述 投票:0回答:1

我有一个简单的信息传递配置。

framework:
    messenger:
        failure_transport: failed
        transports:
            async:
                dsn: '%env(MESSENGER_TRANSPORT_DSN)%'
                retry_strategy:
                    max_retries: 2
                    delay: 10000
            failed: 'doctrine://default?queue_name=failed'

        routing:
            someInterface: async

我想知道每条消息被传送到失败的地方的情况,例如,当消息被重定向时,系统应该给我发送电子邮件通知。我唯一的想法是定期检查 messenger_messages 表中的消息存储在失败的传输中,但这不是symfony方式的解决方案。你知道这个功能有什么更巧妙的解决方案吗?

我使用的是symfonymessenger 5.版本*。

php symfony message-queue symfony5
1个回答
0
投票

我觉得不可能通过配置来实现,但是你自己创建自定义的中间件,然后自己发邮件。https:/symfony.comdoccurrentmessenger.html#middleware。

您可以查看 FailedMessageProcessingMiddleware 参考 https:/github.comsymfonymessengerblobmasterMiddlewareFailedMessageProcessingMiddleware.php。

© www.soinside.com 2019 - 2024. All rights reserved.