Azure功能-防止多次调用

时间:2019-02-19 17:28:23

标签: 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)

1 个答案:

答案 0 :(得分:2)

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

要限制比例,您可以修改应用设置WEBSITE_MAX_DYNAMIC_APPLICATION_SCALE_OUT

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