Azure Functions 的 Azure 队列触发器:配置最小轮询间隔
Azure Queue trigger for Azure Functions: configure minimum polling interval
我需要处理一个任务队列,我想知道 Azure 队列是否适合我的情况。任务执行意味着查询速率受限 API,因此我希望每 X 秒进行一次轮询(可以更慢,但不能比这更快)。 Azure Function 应用程序将使用并发性为 1 的队列消息。
在host.json settings中可以配置maxPollingInterval
。对于最小间隔,它说
Minimum is 00:00:00.100 (100 ms) and increments up to 00:01:00 (1 min)
有什么方法可以在轮询之间强制要求延迟?
Azure 队列可能无法满足您的需求。这是 polling algorithm:
- 找到消息后,运行时间等待两秒,然后
检查另一条消息
- 当没有找到消息时,它会等待大约四秒钟再尝试
再次.
- 在后续尝试获取队列消息失败后,等待
时间继续增加,直到达到最大等待时间(maxPollingInterval),
默认为一分钟。
因此它不会每隔 X 秒轮询一次队列。
你可以考虑使用timer trigger function,可以指定为每X秒运行;在函数内部,您可以编写逻辑来调用 api.
我需要处理一个任务队列,我想知道 Azure 队列是否适合我的情况。任务执行意味着查询速率受限 API,因此我希望每 X 秒进行一次轮询(可以更慢,但不能比这更快)。 Azure Function 应用程序将使用并发性为 1 的队列消息。
在host.json settings中可以配置maxPollingInterval
。对于最小间隔,它说
Minimum is 00:00:00.100 (100 ms) and increments up to 00:01:00 (1 min)
有什么方法可以在轮询之间强制要求延迟?
Azure 队列可能无法满足您的需求。这是 polling algorithm:
- 找到消息后,运行时间等待两秒,然后 检查另一条消息
- 当没有找到消息时,它会等待大约四秒钟再尝试 再次.
- 在后续尝试获取队列消息失败后,等待 时间继续增加,直到达到最大等待时间(maxPollingInterval), 默认为一分钟。
因此它不会每隔 X 秒轮询一次队列。
你可以考虑使用timer trigger function,可以指定为每X秒运行;在函数内部,您可以编写逻辑来调用 api.