Fork me on GitHub

14,EasyNetQ-使用EasyNetQ.Hosepipe重新提交错误消息

EasyNetQ队列管理实用程序。 用它从队列中抓取消息并重新发布。 还可以用它来检查错误队列消息并重试它们。

1,用法:

EasyNetQ.Hosepipe.exe <command> [<option:value> ..]

2,命令:

dump	将队列中的所有消息转储到给定的目录
		注意:这会为每条消息创建三个文件:

		消息体:
		<queue_name>.n.message.txt

		消息的基本属性:
		<queue_name>.n.properties.txt

		发布消息所需的信息,包括交换名称和路由密钥:
		<queue_name>.n.info.txt

insert	重新发布给定目录中的所有消息

err		将所有EasyNetQ错误消息转储到给定的目录

retry	重试给定目录中的任何EasyNetQ错误消息

注意这会忽略* .properties.txt和* .info.txt文件
因为属性和信息包含在错误信息中
本身


?		输出这个使用信息

 

3,选项:

s	RabbitMQ代理(服务器)连接到。 默认是'localhost'
v	虚拟主机。 默认是'/'
u	用于连接的用户名。 默认是'guest'
p	连接的密码。 默认是'guest'
q	从中获取消息的队列名称,或将它们发布到。
o	要输出消息的目录。 默认是当前目录。
n	要检索的最大邮件数量。 默认值是1000。

4,案例:

  1. 要将名为'my_queue'的队列中的所有消息作为文本文件输出到目录'C:\temp\messages':

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

  2. 插入(重新发布)目录'C:\temp\messages'中的所有消息:

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

  3. 将所有在代理本地主机中排队的EasyNetQ消息转储到目录'C:\ temp \ messages'

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

  4. 重新发布目录'C:\temp\messages'中的所有错误消息:

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

注意

“dump”和“err”命令都不会从队列中移除消息,它们只是迭代队列并将消息复制到给定目录,而将原始消息留在队列中。 在重试首先清除错误队列的错误消息(使用RabbitMQ管理界面)时要小心,因为如果消息再次失败,它们也会导致新的错误消息被发布到错误队列中,并且可能重复的消息可能会 被创建。

 

posted on 2018-03-25 21:19  *Hunter  阅读(423)  评论(0编辑  收藏  举报

导航

AmazingCounters.com