У меня есть длительная функция лазури (2.0), которая вызывает себя для вечной оркестровки, основываясь на этой статье .Код ниже.Это работает нормально и работает примерно 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](https://i.stack.imgur.com/2BP42.png)
Дальнейшее обновление, даже несмотря на то, что проблема на 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](https://i.stack.imgur.com/6Uezc.png)