如果服务已经从队列中获取作业然后爆炸,会发生什么

时间:2015-05-07 15:58:38

标签: c# .net rabbitmq nservicebus

我是新手,请帮助我。我想设计一个带有网站和服务的系统。该网站接受用户的请求并将作业放入队列。该服务从队列中获取作业并对其进行处理。但是如何处理服务在从队列中获取作业后发生故障的情况?是否有机制知道系统崩溃并将作业放回队列。提前致谢!

1 个答案:

答案 0 :(得分:0)

使用MSMQ时,默认情况下,消息在放入队列时以及处理它们时(通过处理程序)包装在事务中。

如果消息是处理程序的一半并且电源被切断到服务器,则事务将失败并且消息将保留在队列的顶部。当服务器恢复时,顶部消息将从队列中拉出并处理(在上一次故障期间正在处理的消息)。