masstransit azure消息不再被提取

时间:2015-08-05 09:26:59

标签: azure azureservicebus masstransit

我正面临MassTransit 3的以下问题。我正在将消息从WebApi发布到Backend(作为连续的webjob运行)。当后端作业启动时,一切正常,并正确地拾取消息。在cca 20分钟后,从WebApi发布的所有消息都不再被后端接收。该消息已正确发布到Azure Service Bus,但仅在重新启动webjob进程后才会被选中。

MT调试日志完全无声,并且没有任何问题。所以这个问题更适合MT的作者,如果他们能想到任何可能导致这个问题的事情。

enter image description here

更新1

Web作业是连续的并且在标准模式下运行,因此azure文档中提到的20分钟超时不应该适用。

我检查了日志并且作业正在运行。环境不会记录有关停止作业的任何内容,并且进程资源管理器会显示该作业。具有相当高的线程数(我只有3个消费者)。 所有线程都处于等待状态。 enter image description here

2 个答案:

答案 0 :(得分:2)

您应该创建云服务而不是Web作业。 Web作业不适用于连续过程。工作者角色正是您所需要的。

从Azure文档:

  

如果没有对scm(部署)站点的请求且Web应用程序的门户未在Azure中打开,则免费模式下的Web应用程序可能会在20分钟后超时。对实际网站的请求不会重置此信息。

答案 1 :(得分:1)

解决。在产生大约2k个线程后,MT进程卡住了。问题一定是在azure传输中,因为尝试使用Rabbit运行良好的相同配置。

更新到较新的MT版本(.11 beta)后,传输开始正常运行。