gpt4 book ai didi

c# - 检测 azure 函数超时以将消息重新路由到应用程序服务计划

转载 作者:太空狗 更新时间:2023-10-30 01:29:59 25 4
gpt4 key购买 nike

我有一个 Azure 函数可以解压缩消费计划中的存档。其中一些恰好需要 10 分钟以上的时间来解压缩并且可能会超时。我正在考虑制定一个单独的应用程序服务计划,在消费计划超时时我会重新路由提取。

你会怎么做?功能中的计时器?捕获超时异常?你有更好的建议吗?

谢谢

最佳答案

对于那些感兴趣的人,我结束了向提取函数添加自己的超时(比 Azure 超时早几秒),然后重新路由到另一个由服务应用程序计划处理的队列,而不是不超时。

代码:

using (var timeoutCts = new CancellationTokenSource())
{
try
{
// task completed within timeout
timeoutCts.CancelAfter(590000);
var counter = await ExtractArchiveAsync(archiveFullName, myBlob, timeoutCts.Token);
log.Info($"Extracted : { counter.GetCurrentCount() }");
}
catch (OperationCanceledException)
{
// timeout logic
log.Info($"Function timedout, redirected to long queue");
var queue = StorageService.GetCloudQueueReference("ArchiveToExtractQueueTimedOut");
await queue.AddMessageAsync(new CloudQueueMessage(archiveFullName));
}
}

关于c# - 检测 azure 函数超时以将消息重新路由到应用程序服务计划,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48284394/

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