Время ожидания веб-задания Azure не истекло

#azure #azure-webjobs-triggered

#azure #azure-webjobs-срабатывает

Вопрос:

Я запускаю запущенное веб-задание — выполняется каждые 15 минут — это консольное приложение, которое перемещает данные с SQL Server в базу данных Mongo. Я настроил значения WEBJOBS_IDLE_TIMEOUT и SCM_COMMAND_IDLE_TIMEOUT на 3600. Он находился в состоянии ожидания в течение последних 5 дней, и он не прерывался и время ожидания не истекло. Мне пришлось перезапустить веб-приложение, чтобы прервать веб-задание и перезапустить его.

Панель управления Azure WebJob

Есть ли способ настроить, чтобы веб-задание прерывалось через определенный период времени?

Ответ №1:

WEBJOBS_IDLE_TIMEOUT Конфигурация применяется только в том случае, если в вашем веб-задании нет процессора и нет операций ввода-вывода (см. WebJobs в Kudu wiki)

Активность процессора измеряется с помощью процесса.Общее время обработки во время ввода-вывода измеряется путем проверки стандартных потоков вывода и ошибок вашего веб-задания на наличие новых символов. Источник: IdleManager.WaitForExit и исполняемый файл.ExecuteInternal.

Если возможно, завершите работу веб-задания корректно после того, как оно выполнит свою работу. Если вы хотите принудительно прервать длительную операцию, которая все еще потребляет процессор или ввод-вывод, вам придется напрямую закодировать это в своем веб-задании.