azure-functions - Azure Function - 防止多次调用

标签 azure-functions azure-functions-runtime

我有一个关于计时器触发器的 Azure 函数。我见过它的多个实例同时运行。有没有办法可以防止多次调用?即使我按下 Azure 门户上的运行按钮以获取功能,我也不希望它在上一个调用完成之前运行。例如,当我按下门户上的运行按钮时,下面的内容似乎启动了两次,认为已经有一个实例正在运行。

2019-02-19T04:25:16  Welcome, you are now connected to log-streaming service.
2019-02-19T04:25:23.353 [Info] Function started (Id=aacaf548-79f1-49ec-8614-e638302b8368)
2019-02-19T04:25:26.639 [Info] Function started (Id=f4abe10c-f2bf-447b-bef7-efe3499420c6)

最佳答案

实现这一目标的一种方法是使代码的函数同步(阻塞)并将规模限制为仅一个实例。这样,每次执行都将是一个阻塞调用。

要限制规模,您可以修改应用程序设置 WEBSITE_MAX_DYNAMIC_APPLICATION_SCALE_OUT

虽然 [Info] 日志中的请求 ID 不同,但这并不一定意味着请求发送到了两个不同的实例。我相信,如果您的代码是异步的,同一应用程序实例可以并行处理多个请求。

关于azure-functions - Azure Function - 防止多次调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54771850/

相关文章:

Azure Functions 在加载依赖项 Dll 时出现异常

Azure 功能卡住

azure - BadRequestObjectResult 不向客户端返回详细的错误消息

azure - 在消耗模式下运行的 Azure Functions 是否适合变化巨大但时间关键的负载?

azure - 函数因运行时 v2 和服务总线主题触发器而陷入困境

c# - Azure Functions .NET Core 中的 EF Core 2.0 连接字符串

azure - 将字符串参数绑定(bind)到 Azure Function 中的 Enum 类型

Azure 函数需要很长时间才能触发

Azure Function - 限制服务总线触发

python - 为什么我的 python 定时器触发函数没有在正确的时间运行?