轨道交通错误 queue 正在消耗,但仍不为空
Masstransit error queue is consuming, but still is not empty
我正在使用带有 RabbitMq 的 Mastransit 3.5.0。如果 queue 消费者抛出异常,则默认情况下会处理 MoveExceptionToTransportFilter 并移至 _error queue。对于 _error queue 我有单独的消费者:
消费(ConsumeContext> 上下文)
Fault 的行为是相当不同的。部分错误已从 _error queue 中处理和删除,但部分错误消息仍保留在 error queue 中,不会被该消费者消费。据我了解,如果我有故障消费者,那么 _error queue 应该为空。
我找不到解释,为什么 queue 中仍然有错误。也许是因为这些故障曾经被消耗过,但我在 headers 或其他地方找不到任何指示?
这是不正确的。
您不应该从错误队列中消费。错误队列会累积导致消费者崩溃的消息,以供诊断之用。
Faut<T>
消息被发布 除了 将消息移动到错误队列。这两件事没有关系。
如果您有 Fault
或 Fault<T>
事件的消费者,您只需这样做 - 消费这些事件。它与错误队列中的消息无关。
我正在使用带有 RabbitMq 的 Mastransit 3.5.0。如果 queue 消费者抛出异常,则默认情况下会处理 MoveExceptionToTransportFilter 并移至 _error queue。对于 _error queue 我有单独的消费者: 消费(ConsumeContext> 上下文)
Fault 的行为是相当不同的。部分错误已从 _error queue 中处理和删除,但部分错误消息仍保留在 error queue 中,不会被该消费者消费。据我了解,如果我有故障消费者,那么 _error queue 应该为空。
我找不到解释,为什么 queue 中仍然有错误。也许是因为这些故障曾经被消耗过,但我在 headers 或其他地方找不到任何指示?
这是不正确的。
您不应该从错误队列中消费。错误队列会累积导致消费者崩溃的消息,以供诊断之用。
Faut<T>
消息被发布 除了 将消息移动到错误队列。这两件事没有关系。如果您有
Fault
或Fault<T>
事件的消费者,您只需这样做 - 消费这些事件。它与错误队列中的消息无关。