Ole*_* Sh 6 azure azure-storage azure-queues azure-functions
我有一个 Azure 函数,它监听 azure 队列,例如,出现错误。它再次将消息重新添加到队列中。但 5 次后消息将被移至有害队列。
我想延迟重新将消息添加到队列中。例如,请在 1 小时内重试。因为我的 Azure Function 使用外部资源,目前可能不可用。我根本不想在10秒内重试5次,我想在1小时后重试。当然,我自己编写了它的实现,但这个功能可能已经存在。
@4c74356b41指出了正确的方法。队列的host.json设置就是您要查找的内容。
visibilityTimeout 是消息处理失败时重试之间的时间间隔 maxDequeueCount 是在将消息移动到有害队列之前尝试处理消息的次数。
{
"version": "2.0",
"extensions": {
"queues": {
"visibilityTimeout" : "01:00:00",
"maxDequeueCount": 2
}
}
}
Run Code Online (Sandbox Code Playgroud)
如果你的函数是v1,同样
{
"queues": {
"visibilityTimeout" : "01:00:00",
"maxDequeueCount": 2
}
}
Run Code Online (Sandbox Code Playgroud)
更新
由于问题主要是visibilityTimeout根据具体情况进行改变,因此设置相应的延迟CloudQueue.AddMessageAsync是唯一的方法。实际上,它visibilityTimeout做了完全相同的事情,但是在功能应用程序级别(所有队列)上,所以在这种情况下我们不需要坚持它。
| 归档时间: |
|
| 查看次数: |
6674 次 |
| 最近记录: |