公共交通天蓝色消息停止被接收

masstransit azure messages stop being picked up

我在使用 MassT运行sit 3 时遇到了以下问题。我正在将消息从 WebApi 发布到后端(运行 作为连续的网络作业)。当后端作业启动时,一切正常,消息被正确接收。大约 20 分钟后,后端不再接收从 WebApi 发布的所有消息。该消息已正确发布到 Azure 服务总线,但仅在重新启动 webjob 进程后才会被拾取。

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

更新 1

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

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

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

来自 Azure 文档:

Web apps in Free mode can time out after 20 minutes if there are no requests to the scm (deployment) site and the web app's portal is not open in Azure. Requests to the actual site will not reset this.

已解决。 MT 进程在生成大约 2k 个线程后卡住了。问题一定出在 azure transport 中,因为使用 Rabbit 尝试相同的配置效果很好。

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