只有一个 Azure Function 实例?

问题描述 投票:0回答:2

我找不到任何有关如何强制 Azure Function v4 成为单例的文档,因此当函数应用程序横向扩展(出于某种原因)时,其中一个函数不会横向扩展。

我的函数是一个定时器触发器,位于 v4 .NET6.0 隔离的 Azure 函数中。

.net azure-functions
2个回答
7
投票

即使您的函数应用程序横向扩展,计时器触发器也只能在单个实例上运行。

如果函数应用扩展到多个实例,则所有实例中仅运行计时器触发函数的单个实例。如果仍有未完成的调用仍在运行,则不会再次触发。

微软文档

编辑新报价:

定时器触发器使用存储锁来确保函数应用扩展到多个实例时只有一个定时器实例。如果两个功能应用程序共享相同的识别配置,并且每个应用程序都使用计时器触发器,则只有一个计时器运行。

编辑新报价:

如果函数应用扩展到多个实例,则所有实例中仅运行计时器触发函数的单个实例。如果仍有未完成的调用仍在运行,则不会再次触发。


1
投票

这个 MS 文档 显示了在 Visual Studio 中的 Azure Functions v4 中直接创建 .net 6,这个 用于使用 VS 代码来处理相同的 .Net 6 Azure Functions V4,这个 MS 文档 可以帮助您使用通过命令行使用 Azure Functions v4 和 .Net Core 6。

我找不到任何有关如何强制 Azure Function v4 成为单例的文档,因此当函数应用程序横向扩展(出于某种原因)时,其中一个函数不会横向扩展。

如果函数应用扩展到多个实例,则所有实例中仅运行计时器触发函数的单个实例。如果仍有未完成的调用仍在运行,则不会再次触发。

请参阅此 MSFT 文档了解更多详细信息以及此 GitHub 线程

© www.soinside.com 2019 - 2024. All rights reserved.