У меня есть несколько запланированных задач, которые по сути выполняют функции одного типа:
- Запрос данных JSON из внешнего API
- Анализ данных
- Сохранениеданные в базу данных
Поле «Тайм-аут (в секундах)» в форме запланированной задачи для каждой задачи пустое.
Каждый шаблон CFM имеет следующую строку кода наначало страницы:
<cfscript>
setting requesttimeout=299;
</cfscript>
Тем не менее, я последовательно вижу следующие записи в файле schedule.log:
«Информация», «DefaultQuartzScheduler_Worker-8», «04/ 24/19 "," 12:23:00 ",," Задача по умолчанию - Данные - Импорт запущен. "
" Ошибка "," DefaultQuartzScheduler_Worker-8 "," 24.04.19 ","12:24:00 ",," Запрос превысил допустимое время. Tag: cfhttp "
Обратите внимание, что разница между началом задачи составляет всего 1 минуту,и его время ожидания.
Я знаю, что согласно Чарли Арехарту , сообщения об ошибках тайм-аута thРегистрация в журнале обычно не указывает на действительную причину / точку тайм-аута, и, фактически, я провел тесты и подтвердил, что вызовы CFHTTP обычно выполняются в течение 1-10 секунд.
НаконецКогда я делаю тот же запрос в браузере, он выполняется до тех пор, пока не будет достигнут набор requesttimeout
, указанный на странице CFM.
Это наводит меня на мысль, что существует некоторая «принудительная» / «встроенная»/ "неизменяемый" тайм-аут запроса для запланированных задач, или что он использует значение тайм-аута по умолчанию для сервера и / или приложения (для этого сервера / приложения установлено значение 60 секунд), пока я не могу найти это нигде в документации.
Если это так, возможно ли запланировать задачу в ColdFusion, которая выполняется дольше, чем время ожидания принудительного запроса?