azure - 公共(public)交通 azure 消息停止被接收

标签 azure azureservicebus masstransit

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

MT 调试日志完全无声,没有显示任何问题。因此,如果机器翻译的作者能想到任何可能导致此问题的因素,那么这个问题更适合他们。

enter image description here

更新1

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

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

最佳答案

您应该创建云服务而不是网络作业。 Web 作业并不适合连续流程。 worker 角色正是您所需要的。

来自 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.

关于azure - 公共(public)交通 azure 消息停止被接收,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31828484/

相关文章:

c# - 类库上的公共(public)交通连接管理

rabbitmq - 使用 RabbitMQ : messages deduplication 的大众运输

c# - 应该使用什么方法来并行执行一项任务多次?

c# - 在 azure 函数中获取队列名称或主题+订阅者名称(Azure 服务总线触发函数)

azureservicebus - 从逻辑应用设置死信原因

azure - 使用 Silverlight 中的 Windows Azure 服务总线

MassTransit - 发布到所有消费者实例

azure - 在 Web 应用程序中安装 Azure 文件共享时,我收到 InvalidCredentials 状态

.net - 如何将 Microsoft.Extensions.Logging.Abstraction 5.0.0 与 Azure Durable Functions 结合使用

azure - PnP.Framework.AuthenticationManager 与 ConfidentialClientApplicationBuilder