2

我最近发布了以下问题...

使用 EasyNetQ for RabbitMQ 时自定义错误队列名称?

... 并提供了一个解决方案,说明如何在使用 EasyNetQ 时使用不同的、特定于应用程序的错误队列名称,而不是让所有未处理的异常进入默认错误队列 (EasyNetQ_Default_Error_Queue)。

我现在想要的是能够使用 EasyNetQ.Hosepipe.exe 来转储我指定的任何错误队列中的所有错误消息,作为执行以下操作时的默认行为,根据文档...

EasyNetQ.Hosepipe.exe err s:localhost o:C:\temp\messages

... 是将 EasyNetQ_Default_Error_Queue 中的任何消息转储到一个文件夹中,在我的情况下,这个默认错误队列现在将始终为空。

以前,在使用默认错误队列时,我可以使用上面的软管错误方法,然后使用软管重试...

EasyNetQ.Hosepipe.exe retry s:localhost u:guest p:guest o:C:\temp\messages

...它会将所有转储的错误消息放回各自的队列中以进行重新处理。

4

1 回答 1

2

您是否尝试过指定 q: 参数?

EasyNetQ.Hosepipe.exe dump s:localhost u:guest p:guest q:my_queue o:C:\temp\messages

我没有使用过软管,但这是来自软管项目中的usage.txt:

https://github.com/EasyNetQ/EasyNetQ/blob/master/Source/EasyNetQ.Hosepipe/Usage.txt

更新:HosePipe 现在支持“q”参数从不使用标准命名约定的错误队列中读取:

https://github.com/nvmlabs/EasyNetQ/commit/7945ff0f2c9d2e17088f109a542219fb5b11c3ab

于 2015-02-26T10:50:31.770 回答