2017-05-30 94 views
3

是否可以限制並行運行的函數的最大數量?Azure函數 - 限制並行執行

我閱讀文檔和整個本傳來:

當多個觸發事件發生比單線程功能運行時可以處理它們更快,運行時可調用函數多次並聯。

如果一個功能應用程序正在使用消費託管計劃,功能應用程序可以自動擴展。函數應用程序的每個實例,無論該應用程序是在消費託管計劃還是常規應用程序服務託管計劃上運行,都可能使用多個線程並行處理併發函數調用。

每個函數應用程序實例中併發函數調用的最大數量根據正在使用的觸發器的類型以及函數應用程序中其他函數使用的資源而有所不同。

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

我使用的應用服務計劃功能的事件樞紐輸入約束力,只有我的功能應用程序內的單一功能。如果我不能限制它,有人知道這種設置的併發函數調用的最大數量是多少?

回答

5

沒有辦法指定Event Hubs觸發函數的最大併發性,但是您可以將批量大小和提取選項控制爲described here

併發調用的最大數量也可能因您的工作負載和資源利用率而異。

如果需要併發限制,這是(目前)東西,你會需要處理,下面的帖子討論一些模式可能對您有用:

Throttling Azure Storage Queue processing in Azure Function App

Limiting the number of concurrent jobs on Azure Functions queue

+0

感謝法比奧!有沒有計劃包含這種類型的功能? – Chris

+0

是的。這絕對是我們想要在未來作爲產品一部分解決的問題。目前我還沒有ETA,但目前正在進行很多工作。 –