我最近发布了以下问题...
Custom Error Queue Name when using 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 中的所有消息转储到一个文件夹中,就我而言,此默认错误队列现在将始终为空。
以前,当使用默认错误队列时,我可以使用上面的hosepipe err方法,然后使用hosepipe重试...
EasyNetQ.Hosepipe.exe retry s:localhost u:guest p:guest o:C:\temp\messages
...它将把所有转储的错误消息放回到各自的队列中进行重新处理。
最佳答案
您是否尝试过指定 q: 参数?
EasyNetQ.Hosepipe.exe dump s:localhost u:guest p:guest q:my_queue o:C:\temp\messages
我没有使用过hosepipe,但这是来自hosepipe项目中的usage.txt:
https://github.com/EasyNetQ/EasyNetQ/blob/master/Source/EasyNetQ.Hosepipe/Usage.txt
更新: HosePipe 现在支持“q”参数从不使用标准命名约定的错误队列中读取:
https://github.com/nvmlabs/EasyNetQ/commit/7945ff0f2c9d2e17088f109a542219fb5b11c3ab
关于c# - 使用 EasyNetQ.Hosepipe 时有没有办法指定不同的错误队列?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28738683/