Исходный код вики Тип сигнала: по расписанию
Скрыть последних авторов
| author | version | line-number | content |
|---|---|---|---|
| |
1.1 | 1 | В данном разделе приведены сведения по настройке заданий автоматизации на запуск по заранее составленному расписанию. Настройка доступна только для узлов Платформа НЕЙРОСС. |
| 2 | |||
| 3 | {{info}} | ||
| |
4.22 | 4 | Общие сведения об автоматизации и порядке настройке заданий автоматизации приведены в разделе ~[[[Автоматизация>>doc:ui.node.ui-automation.WebHome]]]. |
| |
1.1 | 5 | {{/info}} |
| 6 | |||
| 7 | == {{id name="Типсигнала:порасписанию-Общиесведения"/}}Общие сведения == | ||
| 8 | |||
| |
5.3 | 9 | Расписание позволяет задать точное время или периодичность выполнения задания автоматизации. Для его настройки предусмотрены два взаимосвязанных режима: |
| |
1.1 | 10 | |
| |
7.6 | 11 | * [[Визуальный редактор>>doc:||anchor="visual"]] — формирование распространённых расписаний с помощью списков; |
| |
8.1 | 12 | * [[Текстовый шаблон>>doc:||anchor="text"]] — ввод произвольного Cron-выражения вручную. |
| |
1.1 | 13 | |
| |
5.3 | 14 | Переключение режимов осуществляется посредством соответствующих вкладок. Под редактором отображается сформированное расписание в удобном для чтения виде, например: «В 12:00». |
| 15 | |||
| 16 | Для настройки расписания вы можете воспользоваться [[Cron-форматом записи>>url:https://ru.wikipedia.org/wiki/Cron||shape="rect"]]. В этом формате предусмотрено пять позиций: для установки минут, часов, дней месяца, месяцев, и дней недели. Позиции разделяются пробелом. | ||
| 17 | |||
| |
7.6 | 18 | == {{id name="visual"/}}Визуальный редактор == |
| |
5.3 | 19 | |
| |
6.2 | 20 | (% class="box infomessage" %) |
| 21 | ((( | ||
| 22 | Визуальный редактор доступен с версии 20.57 Платформы НЕЙРОСС. | ||
| 23 | ))) | ||
| 24 | |||
| 25 | [[image:cron_visual1.png]] | ||
| 26 | |||
| |
5.3 | 27 | Визуальный редактор позволяет настроить расписание без ручного составления Cron-выражения. |
| 28 | |||
| |
6.3 | 29 | На первом шаге выберите периодичность выполнения: |
| |
5.3 | 30 | |
| 31 | * год; | ||
| 32 | * месяц; | ||
| 33 | * неделя; | ||
| 34 | * день; | ||
| 35 | * час; | ||
| 36 | * минута. | ||
| 37 | |||
| 38 | Состав остальных полей зависит от выбранной периодичности. Можно указать месяц, день месяца, день недели, часы и минуты выполнения. | ||
| 39 | |||
| |
6.4 | 40 | Например, чтобы выполнять задание ежедневно в 08:05: |
| |
5.3 | 41 | |
| |
6.3 | 42 | 1. В поле **Каждый **выберите значение **день**. |
| |
6.4 | 43 | 1. В поле **часов **укажите 08. |
| 44 | 1. В поле **минут **укажите 05. | ||
| |
5.3 | 45 | |
| |
7.2 | 46 | [[image:cron_visual2.png]] |
| 47 | |||
| |
5.3 | 48 | В результате будет сформировано выражение: |
| 49 | |||
| |
7.2 | 50 | {{{5 8 * * *}}} |
| |
5.3 | 51 | |
| 52 | И его текстовое описание: | ||
| 53 | |||
| |
7.2 | 54 | {{{В 08:05}}} |
| |
5.3 | 55 | |
| |
7.3 | 56 | Если задание нужно выполнять каждый час, выберите **каждый час** и задайте минуты. |
| |
7.2 | 57 | |
| |
5.3 | 58 | Чтобы выполнять задание в определённые дни недели, выберите периодичность неделя, затем укажите один или несколько дней недели и время запуска. |
| 59 | |||
| 60 | Для ежегодного запуска можно последовательно выбрать: | ||
| 61 | |||
| 62 | * месяц; | ||
| 63 | * день месяца; | ||
| 64 | * при необходимости — день недели; | ||
| 65 | * время выполнения. | ||
| 66 | |||
| |
7.3 | 67 | {{info}} |
| |
8.1 | 68 | Визуальный редактор предназначен для наиболее распространённых вариантов расписания. Для использования специальных конструкций ##L, LW, W, ### и сложных комбинаций перейдите на вкладку [[Текстовый шаблон>>doc:||anchor="text"]]. |
| |
7.3 | 69 | {{/info}} |
| 70 | |||
| |
7.6 | 71 | == {{id name="text"/}}Текстовый шаблон == |
| |
5.3 | 72 | |
| |
8.2 | 73 | Текстовый редактор позволяет ввести произвольное Cron-расписание. Выражение состоит из пяти позиций, разделённых пробелами: |
| 74 | |||
| 75 | {{code language="none"}} | ||
| 76 | минута час день_месяца месяц день_недели | ||
| 77 | {{/code}} | ||
| 78 | |||
| |
8.3 | 79 | Допустимые диапазоны: |
| 80 | |||
| 81 | 1. минута — 0–59; | ||
| 82 | 1. час — 0–23; | ||
| 83 | 1. день месяца — 1–31; | ||
| 84 | 1. месяц — 1–12; | ||
| 85 | 1. день недели — 1–7, где 1 — воскресенье, 2 — понедельник, 3 — вторник, 4 — среда, 5 — четверг, 6 — пятница, 7 — суббота. | ||
| 86 | |||
| 87 | Секунда выполнения в диапазоне от 0 до 59 выбирается системой случайным образом. | ||
| 88 | |||
| 89 | Под полем ввода отображается текстовое описание введённого расписания. Это позволяет проверить выражение перед сохранением задания. | ||
| 90 | |||
| |
5.3 | 91 | В каждой из позиций может быть задано: |
| 92 | |||
| |
14.3 | 93 | * символ * — произвольное значение (каждую минуту, каждый день и проч.); |
| |
14.4 | 94 | * фиксированное значение — число; |
| |
14.3 | 95 | * несколько значений — список чисел, разделённых запятыми; |
| 96 | * диапазон диапазон допустимых значений: минута (0—59), час (0—23), день месяца (1—31), месяц (1—12), день недели (1—7, 1 — воскресенье); | ||
| |
2.1 | 97 | * два числа, разделённых дефисом, для указания интервал значений с..по; |
| |
1.1 | 98 | |
| |
14.4 | 99 | Помимо фиксированных значений, в каждой позиции можно использовать следующие конструкции: |
| |
8.3 | 100 | |
| |
8.7 | 101 | * M/N — выполнение с шагом N, начиная со значения M, |
| |
8.3 | 102 | * L — последний день месяца; |
| 103 | * L-n — за n дней до последнего дня месяца; | ||
| 104 | * nL — последний указанный день недели месяца; | ||
| 105 | * LW — последний будний день месяца; | ||
| 106 | * W — ближайший будний день к указанной дате, например 15W; | ||
| 107 | * # — определённый по счёту день недели месяца, например 5#3 — третий четверг. | ||
| 108 | |||
| |
8.6 | 109 | Символы L, LW, W и #, а также шаги вида M/N, доступны только в текстовом редакторе. |
| |
8.3 | 110 | |
| |
8.6 | 111 | {{warning}} |
| 112 | Нельзя одновременно указывать конкретный день месяца и конкретный день недели. Одно из этих полей должно содержать *. | ||
| 113 | {{/warning}} | ||
| |
8.3 | 114 | |
| |
15.1 | 115 | == Как читать и составлять Cron-расписание == |
| |
14.4 | 116 | |
| |
15.3 | 117 | **Порядок полей** |
| |
15.1 | 118 | |
| |
15.3 | 119 | Запись читается слева направо: сначала //когда в течение часа// (минута), затем //в какой час//, затем //какой день месяца//, //какой месяц//, //какой день недели//. Платформа проверяет все пять условий одновременно: срабатывание возможно только если текущие дата и время подходят **каждой** позиции выражения. |
| |
15.1 | 120 | |
| |
15.3 | 121 | **Символ ##*##** |
| 122 | |||
| 123 | Означает «без ограничения по этому полю». Например, в выражении ниже звёздочки в полях дня, месяца и дня недели означают «каждый календарный день», а ##0## и ##12## фиксируют минуту и час: | ||
| 124 | |||
| |
15.1 | 125 | {{code language="none"}} |
| 126 | 0 12 * * * | ||
| 127 | {{/code}} | ||
| 128 | |||
| |
15.3 | 129 | **Списки и диапазоны** |
| |
15.1 | 130 | |
| |
15.2 | 131 | * ##9,18## в поле часа — запуск в 09:00 и 18:00; |
| |
15.3 | 132 | * ##2-6## в поле дня недели — с понедельника по пятницу (2 — понедельник, 6 — пятница); |
| 133 | * ##1,7## — воскресенье и суббота. | ||
| |
15.1 | 134 | |
| |
15.3 | 135 | **Шаг ##M/N## или ##*/N##** |
| |
15.1 | 136 | |
| |
15.3 | 137 | * ##*/30## в минутах — каждые 30 минут (0, 30); |
| 138 | * 5/15%% — каждые 15 минут, **начиная с 5-й** (5, 20, 35, 50); | ||
| |
15.1 | 139 | * %%8-18/2%% в часах — каждые 2 часа в интервале с 8 до 18 включительно (8, 10, 12, …). |
| 140 | |||
| 141 | **День месяца и день недели.** Если нужно «каждый понедельник», задайте день недели (например, %%2%%) и поставьте %%*%% в поле **день месяца**. Если нужно «15-е число каждого месяца», укажите %%15%% в дне месяца и %%*%% в дне недели. Одновременно задавать и конкретное число месяца, и конкретный день недели нельзя — одно из полей должно быть %%*%%. | ||
| 142 | |||
| 143 | **Практический порядок настройки** | ||
| 144 | |||
| 145 | 1. Определите **время**: минута и час (точное или с шагом). | ||
| |
15.2 | 146 | 1. Решите, **как часто по календарю**: каждый день ~(%%* *%%), определённые месяцы, число месяца или дни недели. |
| |
15.1 | 147 | 1. Для редких случаев (последний день месяца, последний будний день, N-й четверг) используйте вкладку **Текстовый шаблон** и символы L, LW, W, #. |
| 148 | 1. Сохраните задание только после проверки **текстового описания** под полем ввода. | ||
| 149 | |||
| 150 | {{info}} | ||
| 151 | Секунда запуска в выражении не задаётся: система выбирает её случайно от 0 до 59, чтобы разнести нагрузку при массовом запуске заданий в одну и ту же минуту. | ||
| 152 | {{/info}} | ||
| 153 | |||
| |
14.5 | 154 | == Примеры расписаний == |
| |
1.1 | 155 | |
| |
4.1 | 156 | * ##* * * * * ## — каждую минуту, |
| |
8.6 | 157 | * 0 * * * * — в начале каждого часа, |
| |
4.1 | 158 | * ##0 12 * 1,2 *## — каждый день в 12 часов дня в январе и феврале, |
| |
8.11 | 159 | * ##0 0 1 1 *## — 1 января в 00:00, |
| |
9.1 | 160 | * ##0 0 L * *## — в 00:00 последнего дня месяца, |
| 161 | * ##0 0 L-5 * *## — в 00:00 за пять дней до последнего дня месяца, | ||
| |
8.8 | 162 | * ##*/30 * * * * — ##каждые 30 минут, |
| |
4.1 | 163 | * ##*/30 * * * 2-6## — каждые 30 минут по будням, |
| |
8.7 | 164 | * ##5/15 * * * *## — каждые 15 минут, начиная с 5-й минуты часа. |
| |
8.8 | 165 | * ##0 12 * * *## — каждый день в 12:00, |
| |
13.3 | 166 | * ##0 0-5 * * *## — в начале часов 0,1,2,3,4 и 5 (шесть раз за ночь), |
| |
13.2 | 167 | * ##0 9 * * 2## — каждый понедельник в 09:00, |
| |
8.7 | 168 | * ##0 9,18 * * *## — каждый день в 09:00 и 18:00, |
| |
4.1 | 169 | * ##0 8-18/2 * * 2-6## — каждые 2 часа с 08:00 по 18:59 по будням, |
| |
8.9 | 170 | * ##0 10 * * 1,7## — по выходным в 10:00, |
| 171 | * ##0 0 1 * *## — в 00:00 первого числа каждого месяца, | ||
| |
8.10 | 172 | * ##0 9 15 * *## — в 09:00 пятнадцатого числа каждого месяца. |
| |
13.2 | 173 | * ##0 0 LW * *## — в 00:00 последнего буднего дня месяца, |
| |
13.3 | 174 | * ##30 17 LW * *## — в 17:30 последнего буднего дня месяца, |
| |
4.1 | 175 | * ##0 0 * * 5#3## — в 00:00 в третий четверг месяца, |
| 176 | * ##0-59/2 * * * *## — по чётным минутам, | ||
| 177 | * ##5 21 * * *## — ежедневно в 21:05, | ||
| |
13.2 | 178 | * ##0 20 * * 6## — в 20:00, только по пятницам, |
| |
13.5 | 179 | * ##0 20 * * 6L ##— в 20:00, в последнюю пятницу вечера, |
| |
13.4 | 180 | * ##59 23 * 4-6 *## — В 23:59 ежедневно во втором квартале, |
| |
14.1 | 181 | * ##0 0 15W * *## — в ближайший будний день к 15-му числу. |
| |
1.1 | 182 | |
| 183 | {{info}} | ||
| |
11.3 | 184 | Вы можете выбрать одно из типовых расписаний из примеров и впоследствии отредактировать. Для этого нажмите на кнопку **Применить**. |
| |
1.1 | 185 | |
| |
11.2 | 186 | [[image:cron_examples.png]] |
| |
1.1 | 187 | {{/info}} |
| 188 | |||
| 189 | == {{id name="Типсигнала:порасписанию-Порядокдействий"/}}Порядок действий == | ||
| 190 | |||
| 191 | Чтобы создать новое задание автоматизации с запуском по расписанию: | ||
| 192 | |||
| |
5.1 | 193 | [[image:attach:ui.node.ui-automation.WebHome@action_newtask.png]] |
| |
1.1 | 194 | |
| |
5.1 | 195 | В списке заданий нажмите на кнопку **Добавить новое задание** [[image:attach:ui.node.ui-automation.WebHome@btn_plus_new.png||thumbnail="true" height="22"]]. |
| |
1.1 | 196 | |
| |
9.1 | 197 | В блоке **Параметры сигнала** [3] в поле **Тип сигнала** выберите из раскрывающегося списка **По расписанию**. |
| |
1.1 | 198 | |
| |
9.1 | 199 | Откройте вкладку [[Визуальный редактор>>doc:||anchor="visual"]] или [[Текстовый шаблон>>doc:||anchor="text"]]. |
| 200 | |||
| 201 | Настройте периодичность и время запуска задания. | ||
| 202 | |||
| 203 | Проверьте текстовое описание сформированного задания. На примере ниже настроено расписание на ежедневный запуск в 9 часов вечера. | ||
| 204 | |||
| |
13.1 | 205 | [[image:cron_text.png]] |
| |
1.1 | 206 | |
| |
11.3 | 207 | |
| |
4.22 | 208 | Настройте параметры действия ~[[[Действия автоматизации>>doc:ui.node.ui-automation.ui-automation-actions.WebHome]]]. |
| |
1.1 | 209 | |
| 210 | Сохраните изменения. | ||
| 211 | |||
| 212 | {{info}} | ||
| |
4.22 | 213 | Дополнительная информация по настройке заданий автоматизации приведена в разделе ~[[[Автоматизация>>doc:ui.node.ui-automation.WebHome]]]. Примеры заданий приведены в разделе [[здесь>>neyross.automation.WebHome]]. |
| |
1.1 | 214 | {{/info}} |