gpt4 book ai didi

azure - 如何限制并发 Azure Function 执行

转载 作者:行者123 更新时间:2023-12-01 12:09:31 26 4
gpt4 key购买 nike

我已经看到很多人表达了这个问题,但我还没有找到有效的解决方案。

简而言之,我定期有大量的处理操作需要完成。每个操作都由 Azure 函数处理。每个操作都会调用数据库。如果同时运行太多并发函数,则会导致数据库过载并出现超时错误。因此,我希望能够限制单次运行的并发 Azure Function 调用的数量。

我已将函数切换为队列触发,并根据我在网上看到的内容以多种方式调整了batchSize/newBatchThreshold/maxDequeueCount host.json 设置。我还在函数应用程序设置中将 WEBSITE_MAX_DYNAMIC_APPLICATION_SCALE_OUT 应用程序设置设置为 1,以防止生成多个虚拟机。

然而,每次我填满该队列时,都会不加区别地生成多个函数,并且我的数据库将会崩溃。

如何限制并发操作的数量?

最佳答案

问题最终是 host.json 的格式不同。在 V1 和 V2 函数中。以下是正确的配置(至少使用 Microsoft.Azure.WebJobs.Extensions.Storage 3.0.1)。以下 host.json 配置单个函数应用以按顺序处理队列消息。

{ 
"version":"2.0",
"extensions": {
"queues": {
"batchSize": 1,
"newBatchThreshold": 0
}
}
}

设置应用设置 WEBSITE_MAX_DYNAMIC_APPLICATION_SCALE_OUT = 1 可限制函数应用动态扩展至一个实例之外。

关于azure - 如何限制并发 Azure Function 执行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53124612/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com