Stop/Kill 一个 运行 Azure 函数

Stop/Kill a running Azure Function

我注意到我有多个函数 运行 但永远不会结束,因为它们永远不会进入 context.done() 调用。 (这是一个 NodeJS 函数)。

如何在不删除整个函数的情况下停止这些 运行 函数?

您可以简单地重新启动 Function App 站点,这将终止所有功能(Function App 设置 > 转到 App 服务设置 > 重新启动)。

如果您运行使用动态计划,请确保您已升级到最新版本的运行时,因为超时功能现已生效,将阻止功能无限期执行。

这是从门户主页开始的单击顺序,以在 azure 中重新启动函数应用程序:

-> Function Apps(位于最左侧的侧边栏或仪表板上)

-> yourFunction(我的叫'myFunction')

-> 平台功能(位于屏幕右上角附近)

-> 所有设置(在常规设置部分下找到)

-> 重新启动(在屏幕顶部附近找到)

出于自动化目的,您可以使用 Azure CLI 2.0local azure shell),这比在门户网站刀片中四处点击要容易得多.

这也适用于 portal cloud shell if so desired

选项 #1:重启整个功能应用程序(通过 Azure CLI

az functionapp restart --name <functionappName> --resource-group <resourceGroup>

您还可以通过终止 运行 w3wp.exe 进程来重新启动函数应用程序 - 有一个 watchdog 会自动重新启动它。

选项 #2:重新启动 IIS 工作进程(通过电源shell

@powershell kill -name w3wp

Kudu 将允许您通过 调试控制台 并输入上面的命令或单击 Process 手动执行此操作资源管理器->属性->杀死.

Note: Killing the IIS worker process is all that is required as any spawned child processes will also be terminated (dotnet.exe, node, etc.)

似乎门户已更新,因为我无法使用给定的说明找到“重新启动”按钮。

自 2020 年 7 月 17 日起,您可以通过导航到“应用服务”页面然后单击工具栏中的“重启”按钮来重启函数应用: