Azure Premium Plan函数应用间歇性停止运行的原因排查及配置疑问
关于Always On配置
对于Azure Premium Plan(弹性高级计划),Always On是默认强制启用的,平台会自动维持实例运行状态,无需手动配置,也不用担心冷启动问题。
定时触发偶尔停止又恢复的排查步骤
检查函数运行日志
进入Azure门户的函数应用,打开「监测」->「日志」,用Kusto查询筛选定时触发相关记录:traces | where message contains "Timer trigger fired" or message contains "Timer function executed" | order by timestamp desc重点查看是否有报错信息,比如资源不足、依赖服务异常、代码未捕获的异常等。
分析实例状态与资源指标
在「监测」->「指标」中添加「实例计数」「CPU使用率」「内存使用率」指标,观察异常时段的实例波动:- 如果实例因CPU/内存耗尽重启,会导致触发中断,恢复后重新执行;
- 检查Premium Plan的实例配额,是否达到上限导致无法扩容。
验证定时表达式正确性
Azure定时触发使用6字段CRON格式(秒 分 时 日 月 星期),每分钟触发的正确表达式是0 */1 * * * *。确认表达式没有格式错误,也可以在本地测试触发逻辑是否符合预期。排查函数代码逻辑
- 检查代码中是否有未捕获的异常,导致函数执行失败被终止,暂时抑制后续触发;
- 如果函数执行时间超过Premium Plan默认的10分钟超时限制,会被平台强制终止,影响下一次触发。可以在
host.json中调整functionTimeout参数,或者优化代码缩短执行时长; - 在代码中添加自定义日志,记录每个执行步骤的状态,方便定位问题。
查看平台活动日志
进入函数应用「概述」->「活动日志」,检查异常时段是否有平台维护、升级等事件,这类操作可能导致实例短暂中断后自动恢复。确认关联存储账户状态
定时触发依赖Azure存储账户维护触发状态(如记录上次触发时间),检查关联的存储账户是否有故障、权限问题,可在存储账户的「监测」板块查看指标和日志。
内容的提问来源于stack exchange,提问作者Kristen
相关产品推荐
相关产品推荐

