MSMQ在消息上添加延迟

MSMQ在消息上添加延迟,msmq,Msmq,我有一个用消息填充的Microsoft消息队列。如果消息处理有问题,我想重试消息,但不想重试消息immidatley。 是否有办法在MSMQ中为消息添加延迟,以避免消息在一定时间内可用 另一种选择是使用另一个队列(重试队列)并每15分钟读取一次该队列,但我不希望这样做。您要寻找的是“有害消息处理”(即使不是消息错误,而是临时环境问题) 有很多关于这方面的文章。以下是一些: 简而言之:您必须将它们移动到重试队列。因此,我最近看到一些代码在异常逻辑中处理此问题,该代码有一个内置的重试步骤,可在

我有一个用消息填充的Microsoft消息队列。如果消息处理有问题,我想重试消息,但不想重试消息immidatley。 是否有办法在MSMQ中为消息添加延迟,以避免消息在一定时间内可用


另一种选择是使用另一个队列(重试队列)并每15分钟读取一次该队列,但我不希望这样做。

您要寻找的是“有害消息处理”(即使不是消息错误,而是临时环境问题)

有很多关于这方面的文章。以下是一些:




简而言之:您必须将它们移动到重试队列。

因此,我最近看到一些代码在异常逻辑中处理此问题,该代码有一个内置的重试步骤,可在延迟后重试。它失败,等待特定的时间,然后重试

本质上,它递归地尝试一组次数(每次延长延迟)。相当整洁,没有理由再排队。有很多泛型和委托用于执行这些方法。我不知道这样的事情能不能做。我怀疑您仍然希望处理消息无法通过另一个队列传递的情况