azure - 自定义存储轮询与消耗计划 Azure Functions 相关吗?

标签 azure azure-functions polling azure-queues

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

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

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

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

最佳答案

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

如果您的函数应用运行得足够频繁,以至于始终有事件实例(例如,每 5 分钟一条新队列消息),您可以获得所需的调用延迟,因为实例本身会处理轮询。

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

关于azure - 自定义存储轮询与消耗计划 Azure Functions 相关吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45040630/

相关文章:

asp.net - 通过 Web 部署将更新发布到 Azure Web 应用程序,对流程和所需时间感到困惑

.net - Azure SubscriptionClient.PeekBatch

azure - Azure Functions 可以部署到 IIS 吗?

java - 如何使用 Jersey 服务轮询资源

android - 推送通知技术如何在 Android 上运行?

php - 长轮询 PHP。是否保持数据库连接?

azure - 控制 Azure DevOps 发布管道中的作业顺序

python - 在 Azure Functions 中使用 Python 3

c# - 自托管 JobHost 时查找托管 Uri

asp.net-core - 如何从 MVC Controller 使用 Azure Function