gpt4 book ai didi

azure - 使用持久函数中的重试选项,最后一次尝试后会发生什么?

转载 作者:行者123 更新时间:2023-12-02 23:44:24 27 4
gpt4 key购买 nike

我正在使用一个从队列触发的持久函数。我正在将消息从队列发送到一个非常不稳定的服务,因此我设置了重试策略。即便如此,我还是希望能够看到失败的消息,即使最大重试次数已用完。

我是否需要手动将它们扔到死信队列(如果是这样,我不清楚我如何知道消息何时被重试多次),或者该函数会自然地将它们扔到某些某种死信/有毒队列?

最佳答案

当持久函数中的事件失败时,异常将被编码回业务流程,并抛出 FunctionFailedException。您是否使用自动重试并不重要 - 最后,整个事件都会失败,并且由您来处理这种情况。根据文档:

try
{
await context.CallActivityAsync("CreditAccount",
new
{
Account = transferDetails.DestinationAccount,
Amount = transferDetails.Amount
});
}
catch (Exception)
{
// Refund the source account.
// Another try/catch could be used here based on the needs of the application.
await context.CallActivityAsync("CreditAccount",
new
{
Account = transferDetails.SourceAccount,
Amount = transferDetails.Amount
});
}

重试更改的唯一事情是处理暂时性错误(因此您不必每次遇到网络问题时都启用安全路由)。

关于azure - 使用持久函数中的重试选项,最后一次尝试后会发生什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54581074/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com