Распределите нагрузку равномерно, используя 'H * * * *' вместо '5 * * * *'

91

При настройке того, как Jenkins может извлекать изменения из Subversion, я попытался проверить SCM опроса и установить расписание 5 * * * *, я получаю следующее предупреждение

Распределите нагрузку равномерно, используя 'H * * * *' вместо '5 * * * *'

Я не уверен, что означает H в этом контексте и почему я должен это использовать.

Я занят кодированием
источник

Ответы:

121

H обозначает хэш

Чтобы периодически запланированные задачи производили равномерную нагрузку на систему, по возможности следует использовать символ H (для «хеша»). Например, использование 0 0 * * * для дюжины ежедневных заданий вызовет большой всплеск в полночь. Напротив, при использовании HH * * * каждое задание по-прежнему будет выполняться один раз в день, но не все одновременно, что лучше при ограниченных ресурсах.

SMA
источник
1
Красиво объяснил @ CédricJulien и здесь: stackoverflow.com/a/12472740/1579667
Benj
Он должен позволить вам установить окно (не ранее этого, не позже этого). Если вы установите точное время, он должен запустить его в точное время.
Александр Миллс
1
@AlexanderMills: символ H можно использовать с диапазоном. Например, ЧЧ (0-7) * * * означает какое-то время с 12:00 (полночь) до 7:59. Вы также можете использовать интервалы шага с H, с диапазонами или без них.
Big McLargeHuge
Значит, символ H похож на случайное целое число? Я тоже не знаю, что такое "хэш".
Хенсон Фанг
29

Щелкните знак вопроса рядом со спецификацией расписания. Там сказано:

Чтобы периодически запланированные задачи производили равномерную нагрузку на систему, по возможности следует использовать символ H (для «хеша»). Например, использование 0 0 * * * для дюжины ежедневных заданий вызовет большой всплеск в полночь. Напротив, при использовании HH * * * каждое задание по-прежнему будет выполняться один раз в день, но не все одновременно, что лучше при ограниченных ресурсах.

питсикер
источник
8

Также в документации стоит отметить следующее:

Символ H может использоваться с диапазоном. Например, ЧЧ (0-7) * * * означает какое-то время с 12:00 (полночь) до 7:59. Вы также можете использовать интервалы шага с H, с диапазонами или без них.

Символ H можно рассматривать как случайное значение в диапазоне, но на самом деле это хэш имени задания, а не случайная функция, поэтому значение остается стабильным для любого данного проекта.

Брайан Кокс
источник