【发布时间】:2022-01-27 21:45:01
【问题描述】:
可以为Azure Service Bus 中的消息设置TTL。我想知道是否有可能对死信队列做同样的事情?
我想要实现的是对可能不再相关的旧消息的 DLQ 进行“自动清理”,这样我们就不需要手动执行此操作(开箱即用也不支持)。
【问题讨论】:
标签: azure azureservicebus ttl dead-letter azure-servicebus-subscriptions
可以为Azure Service Bus 中的消息设置TTL。我想知道是否有可能对死信队列做同样的事情?
我想要实现的是对可能不再相关的旧消息的 DLQ 进行“自动清理”,这样我们就不需要手动执行此操作(开箱即用也不支持)。
【问题讨论】:
标签: azure azureservicebus ttl dead-letter azure-servicebus-subscriptions
我想要实现的是对可能不再相关的旧消息的 DLQ 进行“自动清理”,这样我们就不需要手动执行此操作(开箱即用也不支持) .
您可以从死信队列中接收和删除消息,但您不能在死信消息上设置 TTL,因为这些消息是由服务创建并移动到子队列中的。虽然死信队列在许多概念中都模仿了常规队列,但事实并非如此。
其中一个半自动化的方法是创建一个根据您定义的标准(例如消息年龄)查看消息并完成的流程。不幸的是,没有很好的方法可以查看general 中的消息。对于死信消息,除了偷看所有内容,然后过滤掉需要处理的消息之外,无能为力。
另一种选择是将这些死信消息转换到数据库中,然后根据定义的标准退出进程,而无需不断查看所有消息。
【讨论】: