#azure #azure-webjobs-triggered
#azure #azure-webjobs-срабатывает
Вопрос:
Я запускаю запущенное веб-задание — выполняется каждые 15 минут — это консольное приложение, которое перемещает данные с SQL Server в базу данных Mongo. Я настроил значения WEBJOBS_IDLE_TIMEOUT и SCM_COMMAND_IDLE_TIMEOUT на 3600. Он находился в состоянии ожидания в течение последних 5 дней, и он не прерывался и время ожидания не истекло. Мне пришлось перезапустить веб-приложение, чтобы прервать веб-задание и перезапустить его.
Есть ли способ настроить, чтобы веб-задание прерывалось через определенный период времени?
Ответ №1:
WEBJOBS_IDLE_TIMEOUT
Конфигурация применяется только в том случае, если в вашем веб-задании нет процессора и нет операций ввода-вывода (см. WebJobs в Kudu wiki)
Активность процессора измеряется с помощью процесса.Общее время обработки во время ввода-вывода измеряется путем проверки стандартных потоков вывода и ошибок вашего веб-задания на наличие новых символов. Источник: IdleManager.WaitForExit и исполняемый файл.ExecuteInternal.
Если возможно, завершите работу веб-задания корректно после того, как оно выполнит свою работу. Если вы хотите принудительно прервать длительную операцию, которая все еще потребляет процессор или ввод-вывод, вам придется напрямую закодировать это в своем веб-задании.