【问题标题】:Is there a way to specify a different Error Queue when using EasyNetQ.Hosepipe?使用 EasyNetQ.Hosepipe 时有没有办法指定不同的错误队列?
【发布时间】:2015-04-28 14:34:51
【问题描述】:

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

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 中的所有消息转储到一个文件夹中,在我的情况下,这个默认错误队列现在将始终为空。

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

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

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

【问题讨论】:

    标签: c# .net rabbitmq message-queue easynetq


    【解决方案1】:

    您是否尝试过指定 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

    【讨论】:

    • 是的,但 q: 似乎不能与 err 一起使用,如果我使用转储,它不会有相同的最终结果 - 我不能对 a 使用重试转储,如果我尝试从转储中插入,它不会将消息放回原来的队列中。
    • 啊,抱歉,也许是拉取请求?或者你可以在谷歌群组中发布这个,也许有人会拿起它......
    猜你喜欢
    • 1970-01-01
    • 2021-05-28
    • 2013-09-25
    • 1970-01-01
    • 2011-01-28
    • 2010-09-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多