自定义存储轮询是否与消耗计划Azure功能相关?

时间:2017-07-11 17:01:42

标签: azure azure-functions polling azure-queues

在消费计划下托管Azure功能时,如何应用存储队列轮询的概念?

我获得了使用经典托管WebJob函数进行轮询的原理,我知道可以覆盖1分钟的最大轮询间隔。但是,在消费计划托管的情况下,没有应用程序级别的内存驻留进程,因此我假设Azure内部通过我无法控制的其他触发器来启动FunctionApp。

这个问题的动机是,当Azure托管的WebApp将消息添加到存储队列时,我试图了解典型的E2E函数调用传播延迟。在我的例子中,WebApp,StorageQueue和预编译的函数DLL将在同一个Azure区域中运行。

我需要将Azure函数调用延迟限制在10秒以下,平均值<3秒。

1 个答案:

答案 0 :(得分:1)

不幸的是,在使用当前轮询模型的消费计划中,这是不可能的,因为我们每隔10秒轮询您的触发器资源,以确定是否有新事件需要加载/启动函数实例。

如果您的功能应用程序运行频率足以使其始终具有活动实例(例如,每5分钟一个新的队列消息),您可以获得所需的调用延迟,因为实例本身会处理轮询。

最坏的情况(没有运行的函数实例)是〜10s轮询+ ~5s实例启动时间来处理新事件。