如何解决使用大众运输从错误/毒药队列中删除超过 90 天的消息
场景: 我有使用 MassTransit 从 MessageBus 读取消息的 Windows 服务。 MessageBus 可以配置为 RabbitMQ 或 AzureService Bus。 如果消息在 5 次后仍然失败,消息将被移动到另一个队列“publishToXYZ_Error”
问题: 我想使用 MassTransit 删除“publishToXYZ_Error”中超过 90 天的所有消息。 或者我们是否可以通过 MassTransit 过滤和使用超过 90 天的消息。
示例有效负载
{
"messageId": "acdc0000-0e07-28f1-43d2-08d87c0aad48","conversationId": "acdc0000-0e07-28f1-bc6c-08d87c081e05","sourceAddress": "rabbitmq://localhost/MyComputer_dotnet_bus_iuqyyyyqyhwxnoksbdc8ab6erb?durable=false&autodelete=true","destinationAddress": "rabbitmq://localhost/PublishToXYZ_delay?type=x-delayed-message&delayedType=fanout&bindexchange=PublishToXYZ","messageType": [],"message": {
"xyzEndPointId": "3","actorMail": "temp65@gmail.com","scoreBandTitle": "fail","resultStatus": 2,"maxScore": 100,"totalScore": 10,"percentageScore": 77,"firstName": "ParticipantNameANA 11",},"sentTime": "2020-10-29T13:00:57.1637274Z","headers": {
"MT-Redelivery-Count": 5
},"host": {
"machineName": "Mycomputer","processName": "dotnet","processId": 38008,"frameworkVersion": "4.0.30319.42000","massTransitVersion": "5.5.5.0","operatingSystemVersion": "Microsoft Windows NT 10.0.19041.0"
}
}
解决方法
我相信您在谈论错误队列或毒药队列,或者 invalid message channel
MassTransit 对该队列不做任何处理,也不会从那里删除消息。您可以通过用户界面自行完成,也可以使用管理 API 或您的代理。
我发现了一个类似的讨论:MassTransit/RabbitMq Error queue - how to delete messages?
请让我知道这是否相关。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。