代码之家  ›  专栏  ›  技术社区  ›  Krzysztof Madej

在部署带有部署槽的Azure功能时,如何避免主机重启?

  •  0
  • Krzysztof Madej  · 技术社区  · 4 年前

    • 创建插槽
    • 完全交换

    Hosting stopped 503 当我点击函数时的代码。有办法避免吗?我不确定这是否重要,但我使用高级计划。

    0 回复  |  直到 4 年前
        1
  •  1
  •   Martyn C    4 年前

    无法避免重新启动,但可以使用自定义 warm-up

    交换操作将等待预热完成,然后再与目标交换进行交换。您可以在 web.config 文件,示例如下:

    <system.webServer>
        <applicationInitialization>
            <add initializationPage="/" hostName="[app hostname]" />
            <add initializationPage="/Home/About" hostName="[app hostname]" />
        </applicationInitialization>
    </system.webServer>
    

    您还可以使用以下一个或两个应用程序设置自定义预热行为:

    • 网站\交换\预热\ PING \状态:预热操作的有效HTTP响应代码。使用以逗号分隔的HTTP代码列表添加此应用程序设置。例如200202。如果返回的状态码不在列表中,则停止预热和交换操作。默认情况下,所有响应代码都有效。
        2
  •  0
  •   Krzysztof Madej    4 年前

    我能够实现零停机部署设置变量 WEBSITE_ADD_SITENAME_BINDINGS_IN_APPHOST_CONFIG 1 . 更多信息,你可以看看 here

    我也建议你跟着做 this github issue 关于zer/miniam停机部署的讨论在哪里。