3

简短的背景,在应用程序中我们使用doctrine传输失败的队列,所以如果消息失败(所有重试失败)信使将其存储到失败的消息表中,它正在等待进一步的操作。当消息发送到该表并更新普罗米修斯仪表并发送警报时,我需要以某种方式收听。

我尝试以与发送其他与信使相关的指标相同的方式来执行此操作(使用事件订阅者,我发现它比中间件灵活得多),所以基本上通过听其中一个https://symfony.com/doc/current/messenger.html#messenger-events,但我发现当信使时不可能抓住片刻将它发送到失败传输,信使有SendMessageToTransportsEvent但它没有提供传输名称,所以我不明白它是否失败......

我还发现信使有SentToFailureTransportStamp邮票,但由于某种原因,当消息失败时,信封中不存在邮票,并将被发送到失败的队列,但取决于类描述Stamp applied when a message is sent to the failure transport.它应该......

我唯一的想法是制作一个收集器,它将定期查询失败的消息表并将记录数量发送到普罗米修斯,但是如果我将传输更改为其他东西呢????这意味着我需要一直更换收集器...

有没有办法捕捉信使向失败队列发送消息的时刻???谢谢指教!!!

4

0 回答 0