Розподіліть навантаження рівномірно, використовуючи "H * * * *", а не "5 * * * *"


91

Під час налаштування того, як Дженкінс повинен знімати зміни з підриву, я спробував перевірити опитування SCM і встановити графік на 5 * * * *, я отримую таке попередження

Розподіліть навантаження рівномірно, використовуючи "H * * * *", а не "5 * * * *"

Я не впевнений, що означає Н у цьому контексті і чому я маю це використовувати.

Відповіді:


121

H означає Hash

Щоб періодично заплановані завдання дозволяли рівномірно завантажувати систему, слід використовувати символ H (для "хешу"), де це можливо. Наприклад, використання 0 0 * * * для десятка щоденних завдань спричинить великий сплеск опівночі. На відміну від цього, використання HH * * * все одно виконуватиме кожну роботу раз на день, але не всі одночасно, краще з використанням обмежених ресурсів.


1
Красиво пояснюється @ CédricJulien тут: stackoverflow.com/a/12472740/1579667
Benj

Це повинно дозволити вам встановити вікно (не раніше цього, не пізніше цього). Якщо ви встановили точний час, він повинен запустити його точно в той же час.
Олександр Міллс,

@AlexanderMills це робить: Символ H можна використовувати з діапазоном. Наприклад, HH (0-7) * * * означає деякий час між 00:00 (опівночі) та 7:59 AM. Ви також можете використовувати інтервали кроків з H, з діапазонами або без них.
Великий McLargeHuge

Отже, символ H схожий на випадкове ціле число? Я теж не знаю про значення "хешу".
Henson Fang

29

Клацніть на знак питання поруч із специфікацією вашого розкладу. Там сказано:

Щоб періодично заплановані завдання дозволяли рівномірно завантажувати систему, слід використовувати символ H (для "хешу"), де це можливо. Наприклад, використання 0 0 * * * для десятка щоденних завдань спричинить великий сплеск опівночі. На відміну від цього, використання HH * * * все одно виконуватиме кожну роботу раз на день, але не всі одночасно, краще з використанням обмежених ресурсів.


8

Також у документації варто зазначити, що:

Символ H можна використовувати з діапазоном. Наприклад, HH (0-7) * * * означає деякий час між 00:00 (опівночі) та 7:59 AM. Ви також можете використовувати інтервали кроків з Н, з діапазонами або без них.

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

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.