控制队列轮询时间 [英] Controlling queue polling times

查看:68
本文介绍了控制队列轮询时间的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一段代码,每当在我的Web应用程序上添加新文章时,它都会将消息推送到服务总线队列。然后,My Functions应用程序中带有SendGrid输出的ServiceBusTrigger会给我发送一封电子邮件,通知我某人添加了一篇新文章。

这根本不经常发生,我决定让它这样做的唯一原因是为了让我的脚接触一些很棒的Azure服务。

我的问题是--因为我并不真的在乎实时回复这些通知电子邮件……如何降低触发器检查队列的频率?

在My Functions应用程序的Host.json中,我已经将MaxConcurentCalls最小化为1(默认为16)。

  "serviceBus": {
    "maxConcurrentCalls": 1,
    "prefetchCount": 100,
    "autoRenewTimeout": "00:05:00"
  }

有没有办法也设置一下,让我的触发器每隔30分钟左右才检查一次队列?

推荐答案

否。消息检索由Scaling控制器管理,除了您已经看到的host.json参数外,您对它没有太大的影响。

若要实现您的方案,您需要切换到每30分钟运行一次的计时器触发器,并手动从Service Bus检索消息,这可能会失去Azure函数的许多优势。

更新:您现在可以integrate your Service Bus to Azure Event Grid然后使用事件网格触发函数。遗憾的是,到目前为止,它只适用于Premium Service Bus命名空间,因此您很可能要等到他们将该功能扩展到较低层时才能使用。

这篇关于控制队列轮询时间的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆