我有一个简单的信息传递配置。
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.版本*。
我觉得不可能通过配置来实现,但是你自己创建自定义的中间件,然后自己发邮件。https:/symfony.comdoccurrentmessenger.html#middleware。
您可以查看 FailedMessageProcessingMiddleware
参考 https:/github.comsymfonymessengerblobmasterMiddlewareFailedMessageProcessingMiddleware.php。