消费计划上的Azure函数是否按等待Thread.Sleep()的时间计费?

时间:2019-06-19 16:16:46

标签: azure azure-functions serverless

我正在编写一个Azure持久函数来处理各种批量操作。代码可以在一个文件中获得1000个操作,并且将这些操作分解为调用同一活动函数1000次。

问题在于,这可能会使活动功能使用的API泛滥,直至我们的活动功能从API收到429-太多请求。我们正在考虑阅读提供的Retry-After标头,并在该时间段内使线程进入睡眠状态。

在这种情况下,我们想知道Azure是否会在等待的秒数内向我们收费。另外,这个时间是否会计入Azure函数的超时时间?

1 个答案:

答案 0 :(得分:3)

首先,使用耐用功能计时器,而不要使用Thread.Sleep()。然后,适用以下条件:

  

如果您的功能应用使用了消费计划,那么您仍然会   为被废弃的活动占用的任何时间和内存计费   功能。默认情况下,在“消费”计划中运行的功能具有   五分钟超时。如果超出此限制,则Azure   回收功能主机以停止所有执行并防止失控   帐单情况。功能超时是可配置的。

https://docs.microsoft.com/en-us/azure/azure-functions/durable/durable-functions-timers