Обязательный атрибут. Ожидается имя одного из типов условий: Values, Query или OnStart.
Commands
Список команд, которые будут выполнены последовательно.
Обязательный тэг. В качестве значения тэга ожидается список тэгов <Command> и/или конструкций <If>.
Тэг <Command>
Обращение к команде по имени для ее выполнения.
Необязательный тэг. В качестве значения тэга ожидается список тэгов <Parameter>.
Тэг <Parameter>
Дополнительный параметр, который будет передан в команду при выполнении.
Необязательный тэг. Значение тэга <Parameter>: любое значение.
Атрибуты тэга <Parameter>
Name
Имя входящего значения.
Ожидается имя одного из параметров, передаваемых в команду.
ExecutionStrategy
Признак, определяющий как будет выполняться задача, если пропущено плановое время запуска.
Если тэг отсутствует, то используется значение ExecuteMissed.
Необязательный тэг. Ожидается одно из следующих значений:
ExecuteMissed
Будут запущены все пропущенные задания согласно условиям. Учитывается время последнего выполнения задачи. Если задача ранее не выполнялась, т.е. в таблице public.schedule в базе данных отсутствует запись, то будет выполнен только один пропущенный вызов.
ExecuteLastMissed
Будет запущено последнее пропущенное задание, а далее согласно условиям
WaitNext
Задача запускается в следующее плановое время
Restart
Задача будет перезапущена с текущим временем
RestartAndWaitNext
Задача будет перезапущена с текущим временем и запущена при следующем плановом запуске
Пример
Задача выполняется каждые 5 минут. Текущее время 11:28. Последнее выполнение задачи было в 11:00.
При стратегии ExecuteMissed задача будет выполнена 11:05, 11:10, 11:15, 11:20, 11:25, 11:30, 11:35 и т.д.
При стратегии ExecuteLastMissed - 11:25, 11:30, 11:35 и т.д.
При стратегии WaitNext - 11:30, 11:35 и т.д.
При стратегии Restart - 11:28, 11:33, 11:38 и т.д.
При стратегии RestartAndWaitNext - 11:33, 11:38 и т.д.
Тэги, специфичные для условия Values
Condition
Условие, которое используется для запуска задач по расписанию.
Условие запуска задаётся в одном из описанных форматов:
Пустое поле - ближайшее значение из интервала возможных значений. Например, для дней месяца - это значения от 1 до 31.
\d+(,\d+){0,} - точные значения. Например, 1,5,9 будет выполняться в январе, мае, сентябре.
\d+-\d+ - интервал значений. Например, 1-9 будет выполняться с января по сентябрь.
/\d+ - повтор через указанный интервал времени. Например, /2 будет повторяться каждые 2 месяца, начиная с текущего.
\d+/\d+ - повтор через указанный интервал времени, начиная с указанного значения. Например, 3/2 - будет повторяться каждые 2 месяца, начиная с марта и до конца года. В следующем году первый раз снова выполнится в марте.
\d+-\d+/\d+ - повтор через указанный интервал времени в указанном интервале значений. Например, 3-9/2 - будет повторяться каждые 2 месяца, начиная с марта и по сентябрь включительно. В следующем году первый раз снова выполнится в марте.
Тэг <Month>
Задаёт месяц, в котором должно выполняться задание.
Необязательный тэг. Ожидается строка, заданная по одному из форматов запуска.
Тэг <Day>
Задаёт дни, в которых должно выполняться задание.
Необязательный тэг. Ожидается строка, заданная по одному из форматов запуска.
Тэг <Hour>
Задаёт часы, в которые должно выполняться задание.
Необязательный тэг. Ожидается строка, заданная по одному из форматов запуска.
Тэг <Minute>
Задаёт минуты, в которые должно выполняться задание.
Необязательный тэг. Ожидается строка, заданная по одному из форматов запуска.
Тэг <Second>
Задаёт секунды, в которые должно выполняться задание.
Необязательный тэг. Ожидается строка, заданная по одному из форматов запуска.
Пример 1
Запускает задание в начале каждой минуты:
Пример 2
Запускает задание каждые 5 минут каждый день, но не в начале минуты, а начиная с момента первого запуска:
Пример 3
Запускает задание с 8:00 до 21:59 каждые 5 минут (в начале минуты) каждый день:
Пример 4
Запустит задание в 7:15:19 4 февраля:
Тэги, специфичные для условия Query
Condition
Условие используется для запуска задач по расписанию с динамическим заданием условия запуска через базу данных.