如何解决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。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。