我们将利用Azure Service Bus Queue来分派触发昂贵的数据库计算的消息。这些消息可以相当快速地生成,并且存在可以在一起生成相同消息的实例。在这种情况下,我们只想处理一次数据。
所以我们打算利用重复检测,但是我无法从文档或之前的问题中收集到一些细微差别。参数是:
我无法找到的是一种禁用“历史”重复检测但启用“等待”重复检测的方法 - 检测队列中等待的消息,但不检测已经处理过的消息。重复检测历史记录机制是否仅适用于已完成的消息,或者时间范围是否与等待彼此的消息相关?
对于#3,我正在考虑通过在处理任何消息时添加5分钟的延迟来解决这个问题,这样如果在处理任何消息时创建一个消息,则有足够的时间来完成处理。