Azure 函数 - 防止多次调用

Azure Function - Guarding against Multiple invocation

我在定时器触发器上有一个 Azure 函数。我同时看到它 运行ning 的多个实例。有什么方法可以防止多次调用吗?我不希望它 运行 直到上一次调用完成,即使我按下 Azure 门户上的播放按钮 function.For 实例下面似乎在我按下 [=14= 时启动了两次] 按钮,认为已经有一个实例 运行ning.

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 不同,但这并不一定意味着请求去了两个不同的实例。我相信,如果您的代码是异步的,同一个应用程序实例可以并行处理多个请求。