Azure队列: Delay between retries (Azure Function)

标签 azure azure-functions azureservicebus azure-queues

我正在使用 Azure 队列来保存失败的消息。

每条消息都必须由 Azure Function 重试 10 次才能被丢弃。

如何确定每次重试之间的延迟? (如果我使用标准行为,消息会在不到一秒的时间内重试 10 次)

最佳答案

您的问题并不能 100% 清楚地表明您是否在 Azure 存储或 Azure 服务总线中使用队列。如果您使用的是 Azure 存储队列:

您可以利用 visibilityTimeout 来配置重试之间的时间。在内部,这会将消息锁定到当前消费者指定的时间。如果出现错误,消息将不会被删除,并且在超时后,Azure 队列会再次向任何可用的使用者提供该消息。

https://learn.microsoft.com/en-us/azure/azure-functions/functions-bindings-storage-queue?tabs=in-process%2Cextensionv5%2Cextensionv3&pivots=programming-language-csharp#host-json

{
    "version": "2.0",
    "extensions": {
        "queues": {
            "maxPollingInterval": "00:00:02",
            "visibilityTimeout" : "00:00:30",
            "batchSize": 16,
            "maxDequeueCount": 5,
            "newBatchThreshold": 8,
            "messageEncoding": "base64"
        }
    }
}

visibilityTimeout The time interval between retries when processing of a message fails.

另请参阅此答案以了解更多详细信息:Azure function visibilityTimeout

关于Azure队列: Delay between retries (Azure Function),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/75143357/

相关文章:

azure - 在 Azure Function Premium Plan 中,EP1 实例可以运行多少个并行函数执行?

asp.net - 从 azure 存储下载 blob 时提示“保存”对话框

powershell - 如何使用 powershell 删除所有 Azure 资源

c# - AppContextSwitchOverrides 不起作用,在授权上下文中发现 3 个 DNS 声明

azure - 从 Windows 桌面应用程序调用具有 AD 授权的 Azure Function

.net - 将 log4net 与 Azure Functions 结合使用

node.js - Azure Functions 使用 Node 强大解析表单数据

Azure 函数 | PowerShell |无法加载类型 'System.Security.Cryptography.SHA256Cng'

c# - ISessionClient.AcceptMessageSessionAsync 中的 operationTimeout 实际上是做什么的?

c# - Azure 服务总线与 SignalR 集成