我将管道配置为对Azure功能进行零停机时间部署。为此,我需要执行以下步骤:
我对这个过程的理解是,所有重新启动都应仅在预览插槽上进行(因此,仅JobHost应该重新启动),并且在最终交换之前应该有一个位置。但是,我在Application Insight上注意到Hosting stopped
导致在我点击函数时生成503
代码。有没有避免的方法?我不确定是否重要,但我使用的是高级计划。
答案 0 :(得分:1)
您无法避免重新启动,但是如果您的功能需要,可以使用自定义warm-up。
交换操作等待热身完成,然后再与目标交换进行交换。您可以在web.config
文件中进行配置,例如以下示例:
<system.webServer>
<applicationInitialization>
<add initializationPage="/" hostName="[app hostname]" />
<add initializationPage="/Home/About" hostName="[app hostname]" />
</applicationInitialization>
</system.webServer>
您还可以使用以下一项或两项应用程序自定义预热行为:
答案 1 :(得分:0)
我能够实现将零停机时间部署设置变量WEBSITE_ADD_SITENAME_BINDINGS_IN_APPHOST_CONFIG
设置为1
。有关更多信息,请查看https://plotly.com/python/network-graphs/。令人毛骨悚然的是部署期间处理请求的速度很慢。
我还建议关注here,其中涉及有关zer /最小停机时间部署的讨论。