Azure Functions的Azure队列触发器:配置最小轮询间隔

问题描述

我需要处理任务队列,我想知道Azure Queue是否适合我的情况。任务执行意味着查询速率受限的API,因此,我希望每隔X秒进行一次轮询(可以更慢,但不能比这快)。 Azure Function应用将使用并发值为1的队列消息。

可以在host.json settings maxPollingInterval中进行配置。对于最小间隔,它说

最小值为00:00:00.100(100毫秒),最多递增为00:01:00(1分钟)

有什么方法可以强制两次轮询之间进行所需的延迟吗?

解决方法

天蓝色队列可能无法满足您的需求。这是polling algorithm

  • 找到消息后,运行时将等待两秒钟,然后 检查另一封邮件
  • 未找到任何消息时,它将等待约四秒钟,然后尝试 再次。
  • 在随后尝试获取队列消息失败之后,等待 时间持续增加,直到达到最大等待时间(maxPollingInterval), 默认为一分钟。

因此它不会每隔X秒轮询一次队列。

您可以考虑使用timer trigger function,可以将其指定为每X秒运行一次;在函数内部,您可以编写逻辑来调用api。

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...