停止/终止正在运行的Azure功能

Chr*_*ono 5 azure azure-functions

我注意到我有多个功能正在运行,但从未结束,因为他们从未context.done()接听过电话.(这是NodeJS函数).

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

  • 在"管理"选项卡中禁用该功能可防止它启动更多,但不会结束现有实例.
  • Kudu不允许我访问TASKKILL.

Fab*_*nte 10

您可以简单地重新启动功能应用程序站点,这将终止任何功能(功能应用程序设置>转到应用程序服务设置>重新启动).

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


Sli*_*SFT 8

出于自动化目的,您可以使用Azure CLI 2.0(本地azure shell),这比在门户刀片中单击更容易.

如果需要,这也适用于门户云外壳.

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

az functionapp restart --name <functionappName> --resource-group <resourceGroup>
Run Code Online (Sandbox Code Playgroud)

您还可以通过终止正在运行的w3wp.exe进程重新启动功能应用程序 - 有一个监视程序将自动重新启动它.

选项#2:重新启动IIS工作进程(通过Powershell)

@powershell kill -name w3wp
Run Code Online (Sandbox Code Playgroud)

Kudu将允许您通过Debug Console手动执行此操作并输入上面的命令或单击Process Explorer-> Properties-> Kill.

注意:杀死IIS工作进程是所有必需的,因为任何生成的子进程也将被终止(dotnet.exe,节点等)