Изменения документа Тип сигнала: по расписанию
Редактировал(а) Редактор 2026/09/29 21:34
Сводка
-
Свойства страницы (1 изменено, 0 добавлено, 0 удалено)
Подробности
- Свойства страницы
-
- Содержимое
-
... ... @@ -90,20 +90,14 @@ 90 90 91 91 В каждой из позиций может быть задано: 92 92 93 -* число или список чисел, разделённых запятыми — фиксированное значение; диапазон допустимых значений: минута (0—59), час (0—23), день месяца (1—31), месяц (1—12), день недели (1—7, 1 — воскресение); 93 +* символ * — произвольное значение (каждую минуту, каждый день и проч.); 94 +* фиксированное значение — число; 95 +* несколько значений — список чисел, разделённых запятыми; 96 +* диапазон диапазон допустимых значений: минута (0—59), час (0—23), день месяца (1—31), месяц (1—12), день недели (1—7, 1 — воскресенье); 94 94 * два числа, разделённых дефисом, для указания интервал значений с..по; 95 -* символ ##*## — произвольное значение (каждую минуту, каждый день и проч.); 96 -* два числа, разделенных символом косая черта ##М/N## — шаг выполнения: выполнять через каждые N часов / минут начиная с M . 97 97 99 +Помимо фиксированных значений, в каждой позиции можно использовать следующие конструкции: 98 98 99 - 100 -Формат и символы: 101 - 102 -В каждой позиции, помимо фиксированных значений, можно использовать следующие конструкции: 103 - 104 -* * — произвольное значение; 105 -* , — несколько значений, разделённых запятыми; 106 -* - — диапазон значений; 107 107 * M/N — выполнение с шагом N, начиная со значения M, 108 108 * L — последний день месяца; 109 109 * L-n — за n дней до последнего дня месяца; ... ... @@ -118,8 +118,47 @@ 118 118 Нельзя одновременно указывать конкретный день месяца и конкретный день недели. Одно из этих полей должно содержать *. 119 119 {{/warning}} 120 120 121 - Примерывозможных расписаний (вкачестве разделителейиспользуютсяпробелы):115 +== Как читать и составлять Cron-расписание == 122 122 117 +**Порядок полей** 118 + 119 +Запись читается слева направо: сначала //когда в течение часа// (минута), затем //в какой час//, затем //какой день месяца//, //какой месяц//, //какой день недели//. Платформа проверяет все пять условий одновременно: срабатывание возможно только если текущие дата и время подходят **каждой** позиции выражения. 120 + 121 +**Символ ##*##** 122 + 123 +Означает «без ограничения по этому полю». Например, в выражении ниже звёздочки в полях дня, месяца и дня недели означают «каждый календарный день», а ##0## и ##12## фиксируют минуту и час: 124 + 125 +{{code language="none"}} 126 +0 12 * * * 127 +{{/code}} 128 + 129 +**Списки и диапазоны** 130 + 131 +* ##9,18## в поле часа — запуск в 09:00 и 18:00; 132 +* ##2-6## в поле дня недели — с понедельника по пятницу (2 — понедельник, 6 — пятница); 133 +* ##1,7## — воскресенье и суббота. 134 + 135 +**Шаг ##M/N## или ##*/N##** 136 + 137 +* ##*/30## в минутах — каждые 30 минут (0, 30); 138 +* 5/15%% — каждые 15 минут, **начиная с 5-й** (5, 20, 35, 50); 139 +* %%8-18/2%% в часах — каждые 2 часа в интервале с 8 до 18 включительно (8, 10, 12, …). 140 + 141 +**День месяца и день недели.** Если нужно «каждый понедельник», задайте день недели (например, %%2%%) и поставьте %%*%% в поле **день месяца**. Если нужно «15-е число каждого месяца», укажите %%15%% в дне месяца и %%*%% в дне недели. Одновременно задавать и конкретное число месяца, и конкретный день недели нельзя — одно из полей должно быть %%*%%. 142 + 143 +**Практический порядок настройки** 144 + 145 +1. Определите **время**: минута и час (точное или с шагом). 146 +1. Решите, **как часто по календарю**: каждый день ~(%%* *%%), определённые месяцы, число месяца или дни недели. 147 +1. Для редких случаев (последний день месяца, последний будний день, N-й четверг) используйте вкладку **Текстовый шаблон** и символы L, LW, W, #. 148 +1. Сохраните задание только после проверки **текстового описания** под полем ввода. 149 + 150 +{{info}} 151 +Секунда запуска в выражении не задаётся: система выбирает её случайно от 0 до 59, чтобы разнести нагрузку при массовом запуске заданий в одну и ту же минуту. 152 +{{/info}} 153 + 154 +== Примеры расписаний == 155 + 123 123 * ##* * * * * ## — каждую минуту, 124 124 * 0 * * * * — в начале каждого часа, 125 125 * ##0 12 * 1,2 *## — каждый день в 12 часов дня в январе и феврале, ... ... @@ -130,22 +130,22 @@ 130 130 * ##*/30 * * * 2-6## — каждые 30 минут по будням, 131 131 * ##5/15 * * * *## — каждые 15 минут, начиная с 5-й минуты часа. 132 132 * ##0 12 * * *## — каждый день в 12:00, 133 -* ##0 0-5 * * *## — каждыйчасночьюс00:00до05:59,166 +* ##0 0-5 * * *## — в начале часов 0,1,2,3,4 и 5 (шесть раз за ночь), 134 134 * ##0 9 * * 2## — каждый понедельник в 09:00, 135 135 * ##0 9,18 * * *## — каждый день в 09:00 и 18:00, 136 136 * ##0 8-18/2 * * 2-6## — каждые 2 часа с 08:00 по 18:59 по будням, 137 137 * ##0 10 * * 1,7## — по выходным в 10:00, 138 138 * ##0 0 1 * *## — в 00:00 первого числа каждого месяца, 139 -* ##0 0 L * *## — в 00:00 последнего дня месяца, 140 140 * ##0 9 15 * *## — в 09:00 пятнадцатого числа каждого месяца. 141 -* ##0 0 L-5 * * ## — в 00:00 за 5 дней до последнего дня месяца, 142 142 * ##0 0 LW * *## — в 00:00 последнего буднего дня месяца, 143 -* ##30 17 LW * *## — в 17:30 последнего буднего дня месяца).174 +* ##30 17 LW * *## — в 17:30 последнего буднего дня месяца, 144 144 * ##0 0 * * 5#3## — в 00:00 в третий четверг месяца, 145 145 * ##0-59/2 * * * *## — по чётным минутам, 146 146 * ##5 21 * * *## — ежедневно в 21:05, 147 147 * ##0 20 * * 6## — в 20:00, только по пятницам, 148 -* ##59 23 * 4-6 *## — В 23:59 ежедневно во втором квартале. 179 +* ##0 20 * * 6L ##— в 20:00, в последнюю пятницу вечера, 180 +* ##59 23 * 4-6 *## — В 23:59 ежедневно во втором квартале, 181 +* ##0 0 15W * *## — в ближайший будний день к 15-му числу. 149 149 150 150 {{info}} 151 151 Вы можете выбрать одно из типовых расписаний из примеров и впоследствии отредактировать. Для этого нажмите на кнопку **Применить**.