Azure功能 - 限制并行执行

chr*_*ris 20 azure azure-functions

是否可以限制并行运行的最大函数数量?

我阅读了文档并发现了这个:

当多个触发事件发生得比单线程函数运行时可以处理它们更快时,运行时可以并行多次调用该函数.

如果功能应用程序正在使用消费托管计划,则功能应用程序可以自动扩展.功能应用程序的每个实例,无论应用程序是在消费托管计划上运行还是在常规App Service托管计划上运行,都可以使用多个线程并行处理并发函数调用.

每个函数应用程序实例中的最大并发函数调用数根据所使用的触发器类型以及函数应用程序中其他函数使用的资源而有所不同.

https://docs.microsoft.com/en-gb/azure/azure-functions/functions-reference#parallel-execution

我正在使用带有Event Hub输入绑定的App Service计划上的Function,并且在我的Function App中只有一个Function.如果我不能限制它,有谁知道这种设置的并发函数调用的最大数量是多少?

Fab*_*nte 15

没有办法为Event Hubs触发的函数指定最大并发数,但您可以控制批量大小和提取选项,如此处所述.

最大并发调用数也可能因工作负载和资源利用率而异.

如果需要并发限制,这是(当前)您需要处理的内容,以下帖子讨论了您可能会发现有用的一些模式:

在Azure功能应用程序中限制Azure存储队列处理

限制Azure Functions队列上的并发作业数


And*_*jer 7

仅供参考,我在这里进行节流搜索。您可以在函数上使用[Singleton]属性,以确保一次仅执行一次。也许不是您真正想要的东西,还是一种非常严格的节流方式,但仍然是一种选择。

https://github.com/Azure/azure-webjobs-sdk/wiki/Singleton

  • 很高兴找到安德烈。谢谢你的分享! (2认同)

小智 5

Microsoft 添加了一个新设置,可用于限制函数执行的并发性。该设置WEBSITE_MAX_DYNAMIC_APPLICATION_SCALE_OUT用于限制并行执行的函数实例数量。然而,据微软称,它还没有完全实施。

https://github.com/Azure/azure-functions-host/wiki/Configuration-Settings

  • 很棒的通话,文档已移至 https://docs.microsoft.com/en-gb/azure/azure-functions/functions-app-settings,现在在预览版中受支持 (3认同)

归档时间:

查看次数:

14877 次

最近记录:

5 年,11 月 前