我注意到我有多个功能正在运行,但永远不会结束,因为他们从未进入context.done()
呼叫。 (这是一个NodeJS函数)。
如何在不删除整个功能的情况下停止这些正在运行的功能?
答案 0 :(得分:9)
您可以简单地重新启动功能应用程序站点,这将终止任何功能(功能应用程序设置>转到应用程序服务设置>重新启动)。
如果您正在运行动态计划,请确保已升级到最新版本的运行时,因为超时功能现已生效,并将阻止函数无限期执行。
答案 1 :(得分:6)
出于自动化目的,您可以使用Azure CLI 2.0( local azure shell ),这比在门户网站刀片中点击更容易。
这也适用于portal cloud shell if so desired。
az functionapp restart --name <functionappName> --resource-group <resourceGroup>
您还可以通过终止正在运行的w3wp.exe
进程来重启功能应用程序 - 有一个监视程序会自动重启它。
@powershell kill -name w3wp
Kudu 将允许您通过调试控制台手动执行此操作并输入上面的命令或单击通过 Process Explorer-&gt; Properties-&gt; Kill < / strong>即可。
注意:杀死IIS工作进程是所有必需的,因为任何衍生的子进程也将被终止( dotnet.exe,node等)
答案 2 :(得分:3)
这是从门户主页开始点击以重新启动azure中的功能应用程序的顺序:
- &GT; 功能应用(位于左侧边栏或仪表板上)
- &GT; yourFunction (我的名字叫'myFunction')
- &GT; 平台功能(位于屏幕右上角附近)
- &GT; 所有设置(位于“常规设置”部分下)
- &GT; 重新启动(位于屏幕顶部附近)
答案 3 :(得分:1)