Scheduler
Планировщик задач; позволяет выполнять команды по расписанию или при старте сервера.
Шаблон Scheduler
Описание Task
Атрибуты Task
Тэги, специфичные для Task
Condition
Условие, которое используется для запуска задач.
Атрибуты тэга <Condition>
<Condition>
Commands
Список команд, которые будут выполнены последовательно.
Обязательный тэг. В качестве значения тэга ожидается список тэгов <Command>
и/или конструкций <If>
.
Тэг <Command>
<Command>
Обращение к команде по имени для ее выполнения.
Необязательный тэг. В качестве значения тэга ожидается список тэгов <Parameter>
.
Тэг <Parameter>
<Parameter>
Дополнительный параметр, который будет передан в команду при выполнении.
Необязательный тэг. Значение тэга <Parameter>
: любое значение.
Атрибуты тэга <Parameter>
<Parameter>
ExecutionStrategy
Признак, определяющий как будет выполняться задача, если пропущено плановое время запуска.
Если тэг отсутствует, то используется значение ExecuteMissed.
Необязательный тэг. Ожидается одно из следующих значений:
Пример
Задача выполняется каждые 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
Условие, которое используется для запуска задач по расписанию.
Значение тэга <Condition>
: список тэгов <Month>
, <Day>
, <Hour>
, <Minute>
и <Second>
.
Условие запуска задаётся в одном из описанных форматов:
Пустое поле - ближайшее значение из интервала возможных значений. Например, для дней месяца - это значения от 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>
<Month>
Задаёт месяц, в котором должно выполняться задание.
Необязательный тэг. Ожидается строка, заданная по одному из форматов запуска.
Тэг <Day>
<Day>
Задаёт дни, в которых должно выполняться задание.
Необязательный тэг. Ожидается строка, заданная по одному из форматов запуска.
Тэг <Hour>
<Hour>
Задаёт часы, в которые должно выполняться задание.
Необязательный тэг. Ожидается строка, заданная по одному из форматов запуска.
Тэг <Minute>
<Minute>
Задаёт минуты, в которые должно выполняться задание.
Необязательный тэг. Ожидается строка, заданная по одному из форматов запуска.
Тэг <Second>
<Second>
Задаёт секунды, в которые должно выполняться задание.
Необязательный тэг. Ожидается строка, заданная по одному из форматов запуска.
Пример 1
Запускает задание в начале каждой минуты:
Пример 2
Запускает задание каждую минуту, но не в начале минуты, а начиная с момента первого запуска:
Пример 3
Запускает задание с 8:00 до 21:59 каждые 5 минут каждый день:
Пример 4
Запустит задание в 7:15:19 4 февраля:
Тэги, специфичные для условия Query
Condition
Условие используется для запуска задач по расписанию с динамическим заданием условия запуска через базу данных.
Значение тэга <Condition>
: тэг <Text>
.
Тэг <Text>
<Text>
Содержит sql-запрос для получения условия запуска.
Обязательный тэг. Значение тэга <Text>
: текст sql-запроса.
Sql-запрос должен вернуть хотя бы один столбец с именем из списка: Month, Day, Hour, Minute, Second.
Формат значений столбцов описан в условии Values.
Тэги, специфичные для условия OnStart
Condition
Условие используется для запуска задач при старте сервера.
Значение тэга <Condition>
: не ожидается.
Last updated