Azure门户修改Queue Trigger函数代码后,队列触发仍执行旧代码
Azure Queue Trigger函数执行旧代码问题排查方案
检查部署槽位配置:若函数应用启用了部署槽位,确认当前运行的槽位与你在门户编辑代码的槽位一致。如果网站流量指向的是 staging 槽而你修改的是 production 槽,自然会执行旧代码。
清理实例代码缓存:Node.js函数会在Azure实例上缓存依赖与代码,可通过Kudu工具清理:
- 进入函数应用的Kudu站点(路径为
https://<你的函数应用名>.scm.azurewebsites.net) - 打开
Debug console选择CMD,进入site\wwwroot\<目标函数名>目录 - 删除
node_modules文件夹和package-lock.json文件 - 执行
npm install重新安装依赖,随后重启函数应用
- 进入函数应用的Kudu站点(路径为
验证队列与函数的绑定关系:确认网站生成队列消息时,发送的队列名称与当前函数绑定的队列完全一致。若新建函数后网站仍指向旧队列,会触发旧逻辑执行。
查看实时日志定位问题:在Azure门户打开函数应用的
日志流,触发队列消息后,检查日志中加载的代码路径、执行逻辑,确认是否为旧代码运行,同时排查是否存在代码加载失败的错误提示。检查运行配置项:查看函数应用的
配置->应用程序设置,确认是否存在WEBSITE_RUN_FROM_PACKAGE或WEBSITE_RUN_FROM_ZIP配置。这类配置会让函数从打包文件运行,而非门户编辑的实时文件,若存在需更新对应包或暂时移除配置后重启应用。强制同步代码:在函数应用
概述页点击同步按钮,或在Kudu的Functions选项卡中选择Sync,强制将门户编辑的代码同步到运行实例。
内容的提问来源于stack exchange,提问作者Mast3rKoo
相关产品推荐
相关产品推荐

