Выполнение Кодов действий по расписанию. Постоянно или разово.
Располагается в Системные таблицы
— Основные
— Настройки и крон
— Кроны
:
Коды из таблицы кронов запускаются утилитой bin/totum schemas-crons
, которая каждую минуту проверяет строки подходящие по условию запуска.
Запускаются только коды с включенным параметром включен
.
Условие запуска по времени срабатывает следующим образом:
Если поле заполнено, то код будет выполнятся в указанное время.
Если поле не заполнено, то код будет выполнятся во все доступные интервалы в том поле.
Если все поля пустые — то код будет запускаться каждую минуту.
Будьте внимательны с кодами по времени их исполнения. По умолчанию, крон запускающийся в последующем интервале не проверяет завершение выполнения предыдущего.
Если включить ttm__overlay_control
то будут использованы внетранзакционные глобальные переменные, для определения работы предыдущего запущенного крона этой-же строки.
Totum при запуске крона будет проверять значение технической переменной по id крона и если в ней не записано, что предыдущий крон находится в работе, то будет запущен текущий экземпляр крона и записана переменная.
Когда крон заканчивает свое выполнение — он снимает флаг в переменной.
Код предусматривает, что крон может завершиться с ошибкой в пределах таймаута скрипта. В этом случае переменная отмечающая его исполнение будет снята. Но если крон вышел за пределы таймаута (по умолчанию 120 секунд), то переменная останеся в значении true
.
Поэтому также обязательно устанавить параметр ttm__overlay_timeout
в минутах, котрых означает, что если переменная установлена в true
но прошло больше этого интервала — это значит, что произошла ошибка и можно запустить крон текущего интервала.