我正在编写一个Azure持久函数来处理各种批量操作。代码可以在一个文件中获得1000个操作,并且将这些操作分解为调用同一活动函数1000次。
问题在于,这可能会使活动功能使用的API泛滥,直至我们的活动功能从API收到429-太多请求。我们正在考虑阅读提供的Retry-After标头,并在该时间段内使线程进入睡眠状态。
在这种情况下,我们想知道Azure是否会在等待的秒数内向我们收费。另外,这个时间是否会计入Azure函数的超时时间?
答案 0 :(得分:3)
首先,使用耐用功能计时器,而不要使用Thread.Sleep()
。然后,适用以下条件:
如果您的功能应用使用了消费计划,那么您仍然会 为被废弃的活动占用的任何时间和内存计费 功能。默认情况下,在“消费”计划中运行的功能具有 五分钟超时。如果超出此限制,则Azure 回收功能主机以停止所有执行并防止失控 帐单情况。功能超时是可配置的。
https://docs.microsoft.com/en-us/azure/azure-functions/durable/durable-functions-timers