azure - Azure App Service 使用服务总线队列消息,即使它已停止
问题描述
我有一个服务总线队列(分区和启用会话),应用程序服务中的 web 作业正在使用该队列中的消息。我收到了一个异常,之后消息的实际处理停止了,但没有从队列中消费消息。
我那时
- 停止网络作业
- 停止应用服务
- 取消激活队列
- 检查 Kudu 下正在运行的进程 - 与我的网络作业无关
但仍会消耗消息
我真的必须删除容器(应用服务)吗?(我不想这样做,因为它上面运行了几个 webjobs,因此有几个部署流程。)
如果有人经历过同样的事情,或者任何人都可以发现任何启示,我将不胜感激。
此致
解决方案
只要服务/Web 作业关闭,这意味着您的队列消息不会被此资源消耗。
我建议你寻找:
- 您的 Web 作业正在运行的不同环境(如测试/暂存)但由于配置错误,它们订阅了错误的队列并使用了您的消息。
- 在您或您的任何同事本地运行应用程序。默认情况下,Azure 在访问策略方面的策略非常薄弱。默认情况下,您可以通过本地环境连接到 Azure 服务总线。
- 队列中的消息过期。在 Azure 服务总线中,默认 TTL(生存时间)为 14 天。在这种情况下,您将看到消息消失,但这并不意味着它们已被消费。
推荐阅读
- amazon-cloudformation - 如何通过 cloudformation 运行或测试我的 Lambda 函数
- c# - 使用 Groupby 将代码转换为更快的代码
- sql - 通过 SQL Server 中的 2 个表进行递归选择
- javascript - 函数未定义 store.getState()
- c++ - Assimp 加载顶点,但模型未显示
- python - Django:如何不返回所有模型字段
- ios - 在 PKAddPassesViewController 中点击取消获取操作
- php - 将代码 html 删除到 wordpress/woocommerce
- bigdata - 未触发协调器身份验证的 Presto 自定义 PasswordAuthenticator 插件
- spring - 安装 sprinboot 云失败