惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

腾讯CDC
IT之家
IT之家
有赞技术团队
有赞技术团队
WordPress大学
WordPress大学
Apple Machine Learning Research
Apple Machine Learning Research
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
人人都是产品经理
人人都是产品经理
The Cloudflare Blog
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
博客园 - 【当耐特】
V
V2EX
Last Week in AI
Last Week in AI
H
Help Net Security
The GitHub Blog
The GitHub Blog
S
SegmentFault 最新的问题
F
Fortinet All Blogs
I
InfoQ
宝玉的分享
宝玉的分享
A
About on SuperTechFans
MongoDB | Blog
MongoDB | Blog
Microsoft Azure Blog
Microsoft Azure Blog
Blog — PlanetScale
Blog — PlanetScale
B
Blog

博客园 - Leo

在Windows上使用Docker 创建MongoDB 副本集的极简方法(翻译) 18-EasyNetQ:发生错误的情况 17-EasyNetQ:非泛型的发布&订阅扩展方法 16-EasyNetQ之自动订阅者 15-EasyNetQ之对延迟消息插件的支持 - Leo - 博客园 14-EasyNetQ之用Future Publish发布预定中事件 13-EasyNetQ之发布者确认 12-EasyNetQ之消息版本控制 11-EasyNetQ之多态发布和订阅 10-EasyNetQ之控制队列名称 9-EasyNetQ之基于主题的路由 - Leo - 博客园 8-EasyNetQ之Send & Receive 7-EasyNetQ之Request & Response 6-EasyNetQ之订阅 5-EasyNetQ之Publish(黄亮翻译) 4-EasyNetQ之Logging(黄亮翻译) 3-在EasyNetQ上使用SSL连接(黄亮翻译) 2-用EasyNetQ连接RabbitMQ(黄亮翻译) 1-EasyNetQ介绍(黄亮翻译) - Leo - 博客园
19-EasyNetQ:用EasyNetQ.Hosepipe重新提交错误信息
Leo · 2017-07-17 · via 博客园 - Leo

EasyNetQ.Hosepipe是EasyNetQ队列管理工具。用来取回队列中的消息并重新发布这些消息。还可以用它来检测错误队列,并重试发布消息。

用法

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

命令

dump    转存队列中的所有消息到一个指定的目录中。
        注意:这将为每一个消息创建三个文件:
        
        消息体:
        <队列名>.n.message.txt
        
        消息的基本属性:
        <队列名>.n.properties.txt
        
        这个信息是需要重新发布的消息,包括交换机和路由的Key:
        <队列名>.n.info.txt

insert  重新发布一个指定目录下的所有消息。

err     转存所有错误消息到一个指定的目录中。

retry   重试发布指定目录下的EasyNetQ的错误消息。
        注意:这将会忽略*.properties.txt和*.info.txt文件,因为properties和info被包含在它自身的错误信息中。

?       输出使用说明

选项

s       连接的RabbitMq代理名称(server)。默认值'localhost'
v       虚拟主机。 默认值'/'
u       用户名。默认值'guest'
p       密码。默认值'guest'
q       拿消息所在的队列名,或者发布消息的队列名。
o       输出消息的路径。默认值当前路径。
n       重新获取的消息最大个数。默认值1000.

示例

  1. 输出队列'my_queue'中的所有消息为text文件到路径'c:temp\message'中:
EasyNetQ.Hosepipe.exe  dump s:localhost u:guest p:guest q:my_queue o:c:\temp\messages
  1. insert(重新发布)目录'c:\temp\messages'中所有消息到队列中
EasyNetQ.Hosepipe.exe insert s:localhost u:guest p:guest o:c:\temp\messages
  1. 转存localhost服务器中,EasyNetQ的全部消息到目录'c:\temp\message'中。
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管理界面)。因为如果不这样做,这些消息再次失败时,这些消息将会成为新的错误消息被发布到错误队列,这很可能导致创建重复的消息。

安装

当前Hosepipe只有源代码可用。你能在下面项目中找到。https://github.com/mikehadlow/EasyNetQ/tree/master/Source/EasyNetQ.Hosepipe

英文地址:https://github.com/EasyNetQ/EasyNetQ/wiki/Re-Submitting-Error-Messages-With-EasyNetQ.Hosepipe
本文地址: http://www.cnblogs.com/HuangLiang/p/EasyNetQ_Re-Submitting-Error-Messages-With-EasyNetQ_Hosepipe.html
我的微信订阅号:open_dotNET