Azure Function v4(Service Bus触发)长时间闲置问题求助
Azure Function消费计划下Service Bus队列触发延迟与闲置问题
运行在Windows操作系统消费服务计划(Y1:0)上的Azure Function,由Azure Service Bus队列消息触发,出现长时间闲置、不主动拉取队列消息的异常情况,具体表现如下:
- 消息加入Service Bus后,需等待30分钟至1小时甚至更久才会被Function出队处理;
- Function处理少量消息后即停止,剩余队列消息需等待上述时长才会被处理;
- Service Bus中消息经过3次投递尝试后进入死信队列,但Azure端无任何日志或执行计数显示Function曾尝试执行。
此问题并非冷启动耗时导致,Function会随机进入长时间闲置状态:闲置期间内存工作集有时大于0,长时间后会降至0。未死信且在队列中留存足够久的消息最终会被处理,但偶尔也能快速拉取消息。当前闲置时长不符合消费型Azure Function的特性,需实现稳定运行。
相关配置信息
Service Bus配置
lockDuration: 'PT5M' requiresDuplicateDetection: false requiresSession: false defaultMessageTimeToLive: 'P14D' deadLetteringOnMessageExpiration: false enableBatchedOperations: true duplicateDetectionHistoryTimeWindow: 'PT10M' maxDeliveryCount: 3 status: 'Active' enablePartitioning: false enableExpress: false
Function配置
sku: { name: Y1 } kind: 'windows' netFrameworkVersion: 'v6.0'
host.json文件(部分属性在Bicep文件中定义)
{ "version": "2.0", "logging": { "applicationInsights": { "samplingSettings": { "isEnabled": true, "excludedTypes": "Request" } } }
已尝试的排查操作
已将Function的托管身份权限从接收者改为所有者(未使用连接字符串),但问题仍未解决。
内容的提问来源于stack exchange,提问作者TCR
相关产品推荐
相关产品推荐

