Исходный код вики Тип сигнала: по расписанию
Скрыть последних авторов
| 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 | |
| |
15.1 | 111 | == Как читать и составлять Cron-расписание == |
| |
14.4 | 112 | |
| |
15.3 | 113 | **Порядок полей** |
| |
15.1 | 114 | |
| |
15.3 | 115 | Запись читается слева направо: сначала //когда в течение часа// (минута), затем //в какой час//, затем //какой день месяца//, //какой месяц//, //какой день недели//. Платформа проверяет все пять условий одновременно: срабатывание возможно только если текущие дата и время подходят **каждой** позиции выражения. |
| |
15.1 | 116 | |
| |
15.3 | 117 | **Символ ##*##** |
| 118 | |||
| 119 | Означает «без ограничения по этому полю». Например, в выражении ниже звёздочки в полях дня, месяца и дня недели означают «каждый календарный день», а ##0## и ##12## фиксируют минуту и час: | ||
| 120 | |||
| |
15.1 | 121 | {{code language="none"}} |
| 122 | 0 12 * * * | ||
| 123 | {{/code}} | ||
| 124 | |||
| |
15.3 | 125 | **Списки и диапазоны** |
| |
15.1 | 126 | |
| |
15.2 | 127 | * ##9,18## в поле часа — запуск в 09:00 и 18:00; |
| |
15.3 | 128 | * ##2-6## в поле дня недели — с понедельника по пятницу (2 — понедельник, 6 — пятница); |
| 129 | * ##1,7## — воскресенье и суббота. | ||
| |
15.1 | 130 | |
| |
15.3 | 131 | **Шаг ##M/N## или ##*/N##** |
| |
15.1 | 132 | |
| |
15.3 | 133 | * ##*/30## в минутах — каждые 30 минут (0, 30); |
| |
15.4 | 134 | * ##5/15## — каждые 15 минут, **начиная с 5-й** (5, 20, 35, 50); |
| 135 | * ##8-18/2## в часах — каждые 2 часа в интервале с 8 до 18 включительно (8, 10, 12, …). | ||
| |
15.1 | 136 | |
| |
15.4 | 137 | **День месяца и день недели** |
| |
15.1 | 138 | |
| |
15.5 | 139 | Если нужно «каждый понедельник», задайте день недели (например, ##2##) и поставьте ##*## в поле день месяца. Если нужно «15-е число каждого месяца», укажите ##15## в дне месяца и ##* ##в дне недели. Одновременно задавать и конкретное число месяца, и конкретный день недели нельзя — одно из полей должно быть *. |
| |
15.4 | 140 | |
| |
15.1 | 141 | **Практический порядок настройки** |
| 142 | |||
| 143 | 1. Определите **время**: минута и час (точное или с шагом). | ||
| |
15.2 | 144 | 1. Решите, **как часто по календарю**: каждый день ~(%%* *%%), определённые месяцы, число месяца или дни недели. |
| |
15.1 | 145 | 1. Для редких случаев (последний день месяца, последний будний день, N-й четверг) используйте вкладку **Текстовый шаблон** и символы L, LW, W, #. |
| 146 | 1. Сохраните задание только после проверки **текстового описания** под полем ввода. | ||
| 147 | |||
| 148 | {{info}} | ||
| 149 | Секунда запуска в выражении не задаётся: система выбирает её случайно от 0 до 59, чтобы разнести нагрузку при массовом запуске заданий в одну и ту же минуту. | ||
| 150 | {{/info}} | ||
| 151 | |||
| |
14.5 | 152 | == Примеры расписаний == |
| |
1.1 | 153 | |
| |
4.1 | 154 | * ##* * * * * ## — каждую минуту, |
| |
8.6 | 155 | * 0 * * * * — в начале каждого часа, |
| |
4.1 | 156 | * ##0 12 * 1,2 *## — каждый день в 12 часов дня в январе и феврале, |
| |
8.11 | 157 | * ##0 0 1 1 *## — 1 января в 00:00, |
| |
9.1 | 158 | * ##0 0 L * *## — в 00:00 последнего дня месяца, |
| 159 | * ##0 0 L-5 * *## — в 00:00 за пять дней до последнего дня месяца, | ||
| |
8.8 | 160 | * ##*/30 * * * * — ##каждые 30 минут, |
| |
4.1 | 161 | * ##*/30 * * * 2-6## — каждые 30 минут по будням, |
| |
8.7 | 162 | * ##5/15 * * * *## — каждые 15 минут, начиная с 5-й минуты часа. |
| |
8.8 | 163 | * ##0 12 * * *## — каждый день в 12:00, |
| |
13.3 | 164 | * ##0 0-5 * * *## — в начале часов 0,1,2,3,4 и 5 (шесть раз за ночь), |
| |
13.2 | 165 | * ##0 9 * * 2## — каждый понедельник в 09:00, |
| |
8.7 | 166 | * ##0 9,18 * * *## — каждый день в 09:00 и 18:00, |
| |
4.1 | 167 | * ##0 8-18/2 * * 2-6## — каждые 2 часа с 08:00 по 18:59 по будням, |
| |
8.9 | 168 | * ##0 10 * * 1,7## — по выходным в 10:00, |
| 169 | * ##0 0 1 * *## — в 00:00 первого числа каждого месяца, | ||
| |
8.10 | 170 | * ##0 9 15 * *## — в 09:00 пятнадцатого числа каждого месяца. |
| |
13.2 | 171 | * ##0 0 LW * *## — в 00:00 последнего буднего дня месяца, |
| |
13.3 | 172 | * ##30 17 LW * *## — в 17:30 последнего буднего дня месяца, |
| |
4.1 | 173 | * ##0 0 * * 5#3## — в 00:00 в третий четверг месяца, |
| 174 | * ##0-59/2 * * * *## — по чётным минутам, | ||
| 175 | * ##5 21 * * *## — ежедневно в 21:05, | ||
| |
13.2 | 176 | * ##0 20 * * 6## — в 20:00, только по пятницам, |
| |
13.5 | 177 | * ##0 20 * * 6L ##— в 20:00, в последнюю пятницу вечера, |
| |
13.4 | 178 | * ##59 23 * 4-6 *## — В 23:59 ежедневно во втором квартале, |
| |
14.1 | 179 | * ##0 0 15W * *## — в ближайший будний день к 15-му числу. |
| |
1.1 | 180 | |
| 181 | {{info}} | ||
| |
11.3 | 182 | Вы можете выбрать одно из типовых расписаний из примеров и впоследствии отредактировать. Для этого нажмите на кнопку **Применить**. |
| |
1.1 | 183 | |
| |
11.2 | 184 | [[image:cron_examples.png]] |
| |
1.1 | 185 | {{/info}} |
| 186 | |||
| 187 | == {{id name="Типсигнала:порасписанию-Порядокдействий"/}}Порядок действий == | ||
| 188 | |||
| 189 | Чтобы создать новое задание автоматизации с запуском по расписанию: | ||
| 190 | |||
| |
5.1 | 191 | [[image:attach:ui.node.ui-automation.WebHome@action_newtask.png]] |
| |
1.1 | 192 | |
| |
5.1 | 193 | В списке заданий нажмите на кнопку **Добавить новое задание** [[image:attach:ui.node.ui-automation.WebHome@btn_plus_new.png||thumbnail="true" height="22"]]. |
| |
1.1 | 194 | |
| |
9.1 | 195 | В блоке **Параметры сигнала** [3] в поле **Тип сигнала** выберите из раскрывающегося списка **По расписанию**. |
| |
1.1 | 196 | |
| |
9.1 | 197 | Откройте вкладку [[Визуальный редактор>>doc:||anchor="visual"]] или [[Текстовый шаблон>>doc:||anchor="text"]]. |
| 198 | |||
| 199 | Настройте периодичность и время запуска задания. | ||
| 200 | |||
| 201 | Проверьте текстовое описание сформированного задания. На примере ниже настроено расписание на ежедневный запуск в 9 часов вечера. | ||
| 202 | |||
| |
13.1 | 203 | [[image:cron_text.png]] |
| |
1.1 | 204 | |
| |
11.3 | 205 | |
| |
4.22 | 206 | Настройте параметры действия ~[[[Действия автоматизации>>doc:ui.node.ui-automation.ui-automation-actions.WebHome]]]. |
| |
1.1 | 207 | |
| 208 | Сохраните изменения. | ||
| 209 | |||
| 210 | {{info}} | ||
| |
4.22 | 211 | Дополнительная информация по настройке заданий автоматизации приведена в разделе ~[[[Автоматизация>>doc:ui.node.ui-automation.WebHome]]]. Примеры заданий приведены в разделе [[здесь>>neyross.automation.WebHome]]. |
| |
1.1 | 212 | {{/info}} |