微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Azure 队列触发器函数应用程序如何仅在完成另一个队列消息后选择消息

如何解决Azure 队列触发器函数应用程序如何仅在完成另一个队列消息后选择消息

现在在 Azure 队列触发器函数应用程序中,队列触发器在第一个队列消息处理完成之前开始执行或从队列中选取另一条消息,我要求只有在第一个过程完成时才选取该消息

我的host.json:

{
  "version": "2.0","logging": {
    "applicationInsights": {
      "samplingExcludedTypes": "Request","samplingSettings": {
        "isEnabled": true
      }
    }
  },"extensions": {
    "queues": {
      "maxPollingInterval": "00:1:00","visibilityTimeout": "00:05:00","batchSize": 1,"maxDequeueCount": 5,"newBatchThreshold": 0
    }
  }
}

解决方法

也许你可以在 host.json 中这样设置:

{ 
  "version":"2.0","extensions": { 
    "queues": { 
      "batchSize": 1,"newBatchThreshold": 0 
     }
   } 
}

并且您还需要在 App Setting 中设置 WEBSITE_MAX_DYNAMIC_APPLICATION_SCALE_OUT = 1 以防止函数扩展实例。

==========更新==================

您可以在 Function app 中将 Azure portal 的实例设置为 1。

enter image description here

如果这不起作用,您可以使用 consumption plan 并按照之前推荐的设置来实现您的目标。

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