【问题标题】:maxDequeueCount config setting not working for Azure FunctionmaxDequeueCount 配置设置不适用于 Azure 函数
【发布时间】:2020-06-01 11:29:06
【问题描述】:

我有一个 Azure 函数,如果它出现一两次错误,我希望它失败并发送到毒物队列。我已将 host.json 文件中的 maxDequeueCount 属性设置为 1,但它仍会重试 5 次。根据我读过的所有文档,这似乎是正确的。有没有人有什么建议?以下是我的 hosts.json 的示例。

{
  "version": "2.0",
  "logging": {
    "fileLoggingMode": "debugOnly",
    "logLevel": {
      // For all functions
      "Function": "Trace",
      // Default settings, e.g. for host
      "default": "Trace"
    },
    "extensions": {
      "queues": {
        "visibilityTimeout": "00:01:00",
        "maxDequeueCount": 1
      }
    }
  }
}

【问题讨论】:

  • 你是本地调试还是部署Azure功能?
  • 嗨 @PranavSingh 我的函数已部署到 Azure
  • 您使用的是存储队列触发器还是服务总线队列触发器?
  • 嗨@TonyJu 这是一个存储队列触发器
  • 嗨@TonyJu 你有什么想法吗?

标签: azure azure-functions azure-functions-runtime azure-function-app


【解决方案1】:

对于存储队列触发器,要改变重试频率,我们只需要改变maxDequeueCount的值。请到 azure 门户查看host.json 文件。

{
  "version": "2.0",
  "extensionBundle": {
    "id": "Microsoft.Azure.Functions.ExtensionBundle",
    "version": "[1.*, 2.0.0)"
  },
  "extensions": {
    "queues": {
      "maxDequeueCount": 1
    }
  }
}

如果重启功能后仍然无法使用,恐怕你需要raise a support ticket on azure portal,他们会为你检查后端日志。

【讨论】: