У нас есть экземпляр CF2016, который выполняет все наши запланированные задачи. Эта задача запускается каждый день в 4:45 утра. С понедельника по субботу задача выполняется быстро, но запуск в воскресенье занимает некоторое время (это ожидается), в среднем 60 минут или около того.
Проблема в том, что в воскресенье задание запускается дважды. Один раз в 4:45 утра, как обычно, второй запускается ровно через 9 минут и 28 секунд, пока первый запрос не завершен и все еще выполняется. Это вызывает у нас проблемы с данными, когда они работают одновременно. Оба запроса в конечном итоге выполнены.
Что я проверил:
cfsetting
, которого он не достигает. У нас есть другие задачи, которые выполняются дольше и не имеют такой проблемы.Retry Count
Параметр CFAdmin для запланированной задачи установлен на 0.Starting HTTP request
log для первого запроса, но не для второго запроса. Я знаю, что вторая задача как-то запускается, потому что мы авторизуемся onRequestStart
что журналы CGI.SCRIPT_NAME
, и он регистрирует оба запроса. Среда - Windows 2008 R2 Enterprise, CF2016 Enterprise.
Как / почему это происходит? Любые идеи о том, как диагностировать, почему запускается второй запрос?
Попробуйте использовать время ожидания, указанное в настройках сервера> Добавить / изменить запланированную задачу. укажите значение «Тайм-аут (в секундах)»
Для запланированных задач, которые не следует запускать параллельно, вы можете использовать Exclusive CFLOCK, что позволит выполнять их только один раз за раз. Видеть https://helpx.adobe.com/coldfusion/cfml-reference/coldfusion-tags/tags-j-l/cflock.html
Что касается устранения неполадок - что говорит scheduler.log, вы видите, что он там выполняется дважды? Запланированные задачи предполагают 3 попытки повторения в случае сбоя. Завершается ли воскресное задание без сбоев?