在 Azure DevOps 中,如何在将应用程序部署到 Functions 时优雅地重启

In Azure DevOps, how to gracefully restart when deploying an app to Functions

在 Azure DevOps Pipeliens 中,将应用程序部署到 Functions 时,应用程序可能会在应用程序运行过程中重新启动。

有没有办法监控 Functions 应用程序是否在管道中 运行,确保它已完成,然后部署应用程序?

条件

我尝试用Azure CLI检查Service Bus消息的锁定状态或Functions应用程序的处理状态,但似乎没有检查处理状态的界面。

https://docs.microsoft.com/en-us/cli/azure/functionapp?view=azure-cli-latest https://docs.microsoft.com/en-us/cli/azure/servicebus/queue?view=azure-cli-latest

你永远不应该依赖更好地构建你的函数来快速执行。

当 Azure 函数在 c# 中发送停止信号时,我们有 CancellationToken 这样我们就可以有额外的代码来实现关闭,否则一旦 AF 收到停止信号,它就不会接受来自服务总线的新事件但会继续执行当前功能,如果它们不会停止一段时间,则可以终止它们(无法找到确切时间,但会更新答案)

我也会 suggest you to utilise deployment 以这种方式插入插槽,这样可以最大程度地减少停机时间。