Я новичок в Дженкинс. У меня есть работа, которую мне нужно планировать каждые 1 час.
я использую
* */1 * * *
но это не работает эффективно.
Пожалуйста, предоставьте любое другое решение.
Я новичок в Дженкинс. У меня есть работа, которую мне нужно планировать каждые 1 час.
я использую
* */1 * * *
но это не работает эффективно.
Пожалуйста, предоставьте любое другое решение.
Дженкинс использует выражение cron, как описано здесь
Чтобы планировать каждый час, то вы можете поставить
0 * * * *
Тогда ваша работа будет выполняться каждый час (07:00, 08:00, 09:00 и т.д.)
ОБНОВИТЬ
Как объяснение вашей исходной конфигурации, синтаксис
* */1 * * *
будет выполнять работу каждые минуты.
ОБНОВЛЕНИЕ 2
Как и просили в комментарии, здесь синтаксис для расписания это каждые 3 часа
0 */3 * * *
Синтаксис */n
означает, что задания будут планироваться каждые n
часов.
Дженкинс предлагает так:
H * * * *
Я знаю, что это старая ветка, но я отвечаю, потому что, очевидно, люди все еще приземляются здесь.
Верхний ответ больше не должен использоваться.
Дженкинс ввел значение H
Это поле соответствует синтаксису cron (с небольшими отличиями). В частности, каждая строка состоит из 5 полей, разделенных табуляцией или пробелом:
МИНУТА ЧАСОВ ОТ МЕСЯЦА ДОУ
- МИНУТА Минуты в течение часа (0–59)
- ЧАС Часы дня (0–23)
- DOM день месяца (1–31)
- МЕСЯЦ Месяц (1–12)
- DOW День недели (0–7), где 0 и 7 - воскресенье.
Чтобы указать несколько значений для одного поля, доступны следующие операторы. В порядке приоритета,
*
указывает все допустимые значенияM-N
указывает диапазон значенийM-N/X
или*/X
шаг за шагом X через указанный диапазон или весь допустимый диапазонA,B,...,Z
перечисляет несколько значенийЧтобы периодически запланированные задачи создавали равномерную нагрузку на систему, везде, где это возможно, следует использовать символ H (для «хэша»). Например, использование 0 0 * * * для дюжины ежедневных заданий вызовет большой всплеск в полночь. Напротив, использование HH * * * будет по-прежнему выполнять каждую работу один раз в день, но не все одновременно, лучше при использовании ограниченных ресурсов.
Символ H может использоваться с диапазоном. Например, ЧЧ (0-7) * * * означает некоторое время с 12:00 (полночь) до 7:59. Вы также можете использовать интервалы шага с H, с или без диапазонов.
Символ H можно рассматривать как случайное значение в диапазоне, но на самом деле это хеш имени задания, а не случайная функция, так что значение остается стабильным для любого данного проекта.
Помните, что для поля дня месяца короткие циклы, такие как */3 или H/3, не будут работать согласованно ближе к концу большинства месяцев из-за переменной длины месяца. Например, */3 будет выполняться 1-го, 4-го,… 31-го дня длинного месяца, а затем снова на следующий день следующего месяца. Хэши всегда выбираются в диапазоне 1-28, поэтому H/3 будет давать разрыв между циклами от 3 до 6 дней в конце месяца. (Более длинные циклы также будут иметь непоследовательную длину, но эффект может быть относительно менее заметным.)
Таким образом, правильный ответ для построения один раз в час
H * * * *
за каждые 3 часа
H H/3 * * *
Разница между *
и H
может быть объяснена как
*
переводится на КАЖДОГОH
переводит на ЛЮБОЙТак, например,
* * * * *
переводится как: Построить каждую минуту, каждый час, каждый день месяца, каждый месяц, независимо от того, какой это день недели.
H * * * *
переводится как: Построить один раз в час (x), независимо от того, какая это точная минута (может быть в любую минуту между x: 00 и x: 59)
H H * * *
переводится как: Построить один раз в день, независимо от того, сколько времени (может быть в любую минуту и в любой час между 00:00 и 23:59)
Причина, по которой вы предпочитаете использовать H
вместо жестко закодированных значений времени, также объясняется как ранее.
Если у вас есть 100 заданий, настроенных с
0 0 * * *
все они будут пытаться начать одновременно, вызывая, например, много опроса и трафика в полночь.
Если они у вас есть, вместо этого все настроено с
H H * * *
все они будут создаваться один раз в день, но не все одновременно, а распределяться в течение дня.
Вы можете лучше планировать график, используя временные диапазоны, например:
H H(18-23) * * *
Все рабочие места будут создаваться каждый день в любое время с 18:00 до 23:59.
Можно также запланировать работу на ночь, например, с 19:00 до 5:00.
Но так как cron обычно не позволяет этого, вы можете использовать трюк с использованием часового пояса шифтета.
Например, я живу в часовом поясе MEZ, который GMT+1, и я хочу построить все рабочие места с 19:00 до 5:00. Чтобы сделать это, я сдвигаю свой полный часовой пояс на 5 часов, используя
TZ=Etc/GMT+6
Чем я использую диапазон сдвига для часов, начиная с 14:00 (-> +5 = 19:00 вечера) и заканчивая в 23:59 (-> +5 = 4:59 утра)
H H(14-23) * * *
* */1 * * *
правильно, это работает каждый час
Попробуйте использовать функцию H, чтобы все задания не опрашивали одновременно SVN
H H/1 * * *
Это должно сделать магию. Если задание занимает больше времени или вы выполняете функцию триггера сборки. Либо увеличьте время, либо используйте плагин jenkins, чтобы остановить сборку до завершения предыдущей сборки.
https://wiki.jenkins-ci.org/display/JENKINS/Build+Blocker+Plugin
Синтаксис:
MINUTE Minutes within the hour (0-59)
HOUR The hour of the day (0-23)
DOM The day of the month (1-31)
MONTH The month (1-12)
DOW The day of the week (0-7) where 0 and 7 are Sunday.
Если вы хотите запланировать каждые 3 часа, синтаксис должен выглядеть так:
* 3 * * * *