【问题标题】:Does Azure Functions throw 503 errors while app settings are being updated?更新应用设置时 Azure Functions 是否会引发 503 错误?
【发布时间】:2020-05-21 21:50:00
【问题描述】:

每当我更新函数应用程序的应用程序设置并点击 Azure 门户上的保存按钮时,我观察到此操作会暂时停止我的函数应用程序,同时将更改保留到活动工作程序。我需要了解情况是否确实如此,或者我是否做出了错误的假设。

在门户中更新应用设置时究竟会发生什么?

  • 在更新活动工作人员时抛出 503

  • 另一个工作人员专门处理新的主机文件。一旦这个工作人员变得活跃,旧工作人员就会停止。

我不断收到 503 Service Unavailable 错误。有没有办法在生产中避免这种情况?我需要定期轮换连接字符串/密钥,但我不能经常中断服务。

【问题讨论】:

    标签: azure signalr azure-functions signalr-hub


    【解决方案1】:

    如果您更新应用设置,应用将重新启动。这就是你得到 503 错误的原因。

    通常在生产环境中,我们不会频繁更改应用设置。

    无论如何,为了避免这种情况,你可以使用slot feature

    【讨论】:

    • 谢谢。我使用了打开自动交换的部署槽,但问题仍然存在。如果我在生产中运行 10 个工作人员,部署槽是否也会创建 10 个工作人员?如果它只创建 1 个工人,自动交换会导致停机问题吗?
    • @user246392 是的,部署槽也将创建 10 个工作人员。如果您需要定期轮换连接字符串/键,您可以为您的应用程序创建两个插槽。更新 slot2 上的设置后,将当前插槽交换到 slot2。它不会导致停机问题。
    • 谢谢。我有一个每分钟都会触发的计时器触发器。这也会在部署槽中运行吗?我希望它只运行一次,而不是两次。
    • @user246392 计时器触发器与其他触发器不同,如果函数应用扩展到多个实例,则只有计时器触发函数的单个实例会跨所有实例运行。 docs.microsoft.com/en-us/azure/azure-functions/…
    • 谢谢。如何确定生产槽或部署槽是否获得计时器触发器?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-01-15
    • 2011-03-06
    • 2017-11-12
    • 2018-06-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多