У меня есть функциональное приложение, ориентированное на .NET 6.0, которое регистрирует эту ошибку каждые 10–20 минут:
22:29:45Z [Подробно] Обработка WorkerErrorEvent для среды выполнения: dotnet-isolated, идентификатор работника: изолированный от dotnet. Не удалось выполнить: System.TimeoutException: время операции истекло. в Microsoft.Azure.WebJobs.Script.Grpc.GrpcWorkerChannel.PendingItem.OnTimeout() в /_/src/WebJobs.Script.Grpc/Channel/GrpcWorkerChannel.cs:строка 1767
22:29:45Z [Подробно] Попытка удалить канал веб-хоста или хоста заданий для идентификатора работника: '########-####-####-############ #####', среда выполнения: 'изолировано от dotnet'
22:29:45Z [Подробно] Удаление языкового рабочего канала с идентификатором:########-####-####-################ #
22:29:45Z [Подробно] Удаленный языковой рабочий канал с идентификатором:########-####-####-################ #
22:29:45Z [Подробно] Нет инициализированных рабочих каналов для среды выполнения, изолированной от dotnet. Задержка будущих вызовов
22:29:45Z [Подробно] Перезапуск рабочего канала для среды выполнения: «изолированный от dotnet»
22:29:45Z [Подробно] Добавление рабочего канала языка jobhost для среды выполнения: изолировано от dotnet. идентификатор работника:########-####-####-################
22:29:45Z [Информация] Рабочий процесс запущен и инициализирован.
Вместо шага Restarting worker channel for runtime: 'dotnet-isolated'
иногда регистрируется эта ошибка:
[Ошибка] Превышено количество повторных попыток перезапуска языковой рабочей среды для среды выполнения: dotnet-isolated. Завершение работы и упреждающая перезапуск узла функций для восстановления.
[Подробно] Остановка хостинга
[Подробно] Остановка наблюдателей за файлами.
[Подробно] Ожидание завершения работы RpcFunctionInvocationDispatcher
[Подробное] Удаление вызовов из канала языкового рабочего завершено. Завершение работы «RpcFunctionInvoctionDispatcher»
[Информация] Остановка JobHost
[Подробно] Остановка экземпляра ScriptHost '########-####-####-#################'.
[Информация] Остановка прослушивателя «Microsoft.Azure.WebJobs.Extensions.Http.HttpTriggerAttributeBindingProvider+HttpTriggerBinding+NullListener» для функции «######»
[Информация] Остановлен прослушиватель «Microsoft.Azure.WebJobs.Extensions.Http.HttpTriggerAttributeBindingProvider+HttpTriggerBinding+NullListener» для функции «######»
[Информация] Хост задания остановлен
[Подробно] Остановлен экземпляр ScriptHost '########-####-####-#################'.
[Подробно] Хостинг остановлен
[Подробно] Удаление ScriptHost.
[Подробно] Инициирование фоновой операции SyncTriggers
На портале Azure > Diagnose and solve problems
> Availability and Performance
> Functions that are not triggering
> Last 24 hours
:
Обработка первого запроса после простоя приложения Function в течение 20 минут или более занимает примерно на 5–10 секунд больше, даже если для приложения Function установлено значение Always On
. Любые запросы непосредственно после этого обрабатываются в течение секунды.
Переменные среды:
FUNCTIONS_WORKER_RUNTIME
: dotnet-isolated
FUNCTIONS_EXTENSION_VERSION
: ~4
Ошибки прекратились, и первоначальные запросы больше не задерживаются после изменения Settings
> Environment variables
> FUNCTIONS_WORKER_RUNTIME
с dotnet-isolated
на dotnet
во всех приложениях-функциях в среде службы приложений.