Répartissez la charge uniformément en utilisant 'H * * * *' plutôt que '5 * * * *'


91

Lors de la configuration de la façon dont Jenkins doit tirer les modifications de la subversion, j'ai essayé de vérifier le SCM de sondage et de définir le calendrier sur 5 * * * *, je reçois l'avertissement suivant

Répartissez la charge uniformément en utilisant 'H * * * *' plutôt que '5 * * * *'

Je ne sais pas ce que signifie H dans ce contexte et pourquoi je devrais l'utiliser.

Réponses:


121

H signifie Hash

Pour permettre aux tâches planifiées périodiquement de produire une charge uniforme sur le système, le symbole H (pour «hachage») doit être utilisé dans la mesure du possible. Par exemple, utiliser 0 0 * * * pour une douzaine de tâches quotidiennes provoquera un pic important à minuit. En revanche, utiliser HH * * * exécuterait toujours chaque travail une fois par jour, mais pas tous en même temps, mieux utiliser des ressources limitées.


1
Bien expliqué par @ CédricJulien ici aussi: stackoverflow.com/a/12472740/1579667
Benj

Cela devrait vous permettre de définir une fenêtre (au plus tôt, au plus tard). Si vous définissez une heure exacte, il doit l'exécuter à l'heure exacte.
Alexander Mills

1
@AlexanderMills c'est le cas: Le symbole H peut être utilisé avec une plage. Par exemple, HH (0-7) * * * signifie une heure entre minuit (minuit) et 7 h 59. Vous pouvez également utiliser des intervalles de pas avec H, avec ou sans plages.
Big McLargeHuge

Donc le symbole H est comme un entier aléatoire? Je ne connais pas vraiment la signification de "hash", aussi.
Henson Fang le

29

Cliquez sur le point d'interrogation à côté de votre spécification d'horaire. Il dit là:

Pour permettre aux tâches planifiées périodiquement de produire une charge uniforme sur le système, le symbole H (pour «hachage») doit être utilisé dans la mesure du possible. Par exemple, utiliser 0 0 * * * pour une douzaine de tâches quotidiennes provoquera un pic important à minuit. En revanche, utiliser HH * * * exécuterait toujours chaque travail une fois par jour, mais pas tous en même temps, mieux utiliser des ressources limitées.


8

Il convient également de noter dans la documentation que:

Le symbole H peut être utilisé avec une plage. Par exemple, HH (0-7) * * * signifie une heure entre minuit (minuit) et 7 h 59. Vous pouvez également utiliser des intervalles de pas avec H, avec ou sans plages.

Le symbole H peut être considéré comme une valeur aléatoire sur une plage, mais il s'agit en fait d'un hachage du nom du travail, pas d'une fonction aléatoire, de sorte que la valeur reste stable pour un projet donné.

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.