Исходный код вики Тип сигнала: по расписанию

Версия 15.2 от Редактор на 2026/09/29 21:30

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

Интерфейс НЕЙРОСС