gpt4 book ai didi

azure-functions - Azure Durable Functions 进入休眠状态

转载 作者:行者123 更新时间:2023-12-05 03:04:44 28 4
gpt4 key购买 nike

我有一个持久的 azure 函数 (2.0),它基于 this article 回调自身以进行永恒的编排。 .下面的代码。这工作正常并且运行良好大约 20 分钟(比如大约 50 次迭代)。但是,在这段时间之后它会进入休眠状态并停止工作。如果我导航到 Azure 门户并单击功能应用程序并单击功能列表(即我只是单击但不更改任何设置或停止/启动任何东西)它突然“醒来”并继续没有问题。日志中没有错误或问题,只是指示非事件期,然后日志恢复。我在某处缺少设置吗?

public static async Task Run([OrchestrationTrigger] DurableOrchestrationContextBase ctx, ILogger log)
{
try
{
var config = ctx.GetInput<Config>();
config = await ctx.CallActivityAsync<Config>("GetConfig", null);
await ctx.CallActivityAsync("ProcessDetails", config);

var nextCheckpoint = ctx.CurrentUtcDateTime.AddSeconds(config.PollingIntervalInSeconds);

await ctx.CreateTimer(nextCheckpoint, CancellationToken.None);
ctx.ContinueAsNew(config);
}
catch (Exception ex)
{
log.LogError($"[Error!][Failed with: {ex.ToString()}]");
throw;
}
}

按@davidebbo 所述点击刷新按钮后,问题仍然存在,请参阅下面的日志。

enter image description here

进一步更新,即使issue GitHub 上的问题似乎已解决,我仍然需要进行如下所示的双重配置设置,以使我的功能可靠。

{
"version": "2.0",
"extensions": {

"durableTask": {
"HubName": "myHub",
"maxConcurrentActivityFunctions": 10,
"maxConcurrentOrchestratorFunctions": 1
}
},
"durableTask": {
"HubName": "myHub",
"maxConcurrentActivityFunctions": 10,
"maxConcurrentOrchestratorFunctions": 1
},
"functionTimeout": "00:10:00"
}

经过大量代码优化后现在仍然存在问题,尽管指标看起来非常可靠。

enter image description here

最佳答案

这种情况可能发生在你使用Func的消费计划时。这意味着在一段时间的感染性之后,azure 将暂停您的 Func,并且当系统中出现新事件或请求时,它将重新激活您的功能。要解决此问题,您可以执行以下操作:

  • 使用应用服务计划
  • 使用高级计划
  • 创建一些应用程序来预热您的功能。

您可以在 this 中阅读更多详细信息文章

关于azure-functions - Azure Durable Functions 进入休眠状态,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52692682/

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