web-dev-qa-db-fra.com

Jenkins Build périodiquement - Calendrier

Je cherche à construire périodiquement toutes les 15 minutes. J'ai regardé en ligne et j'utilise ce programme: */15 * * * *

Jenkins me dit de répartir la charge uniformément en utilisant H/15 * * * * plutôt que */15 * * * *

Quelqu'un pourrait-il me dire la différence entre l'utilisation de H au lieu de *?

8
Cameron Brown

Oui. À partir de Déclencheurs de build Build périodiquement Planification →  aide en ligne:

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, l'utilisation de 0 0 * * * Pour une douzaine de tâches quotidiennes provoquera un pic important à minuit. En revanche, utiliser H H * * * Exécuterait toujours chaque tâche une fois par jour, mais pas toutes en même temps, mieux en utilisant des ressources limitées.

Le symbole H peut être utilisé avec une plage. Par exemple, H H(0-7) * * * signifie un certain temps entre 00h00 (minuit) et 7h59. 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, et non d'une fonction aléatoire, de sorte que la valeur reste stable pour un projet donné.

Sachez que pour le champ jour du mois, les cycles courts tels que */3 Ou H/3 Ne fonctionneront pas de manière cohérente vers la fin de la plupart des mois, en raison de la longueur variable des mois. Par exemple, */3 S'exécutera les 1er, 4e,… 31e jours d'un long mois, puis à nouveau le lendemain du mois suivant. Les hachages sont toujours choisis dans la plage 1-28, donc H/3 Produira un écart entre les exécutions de 3 à 6 jours à la fin d'un mois. (Les cycles plus longs auront également des longueurs incohérentes mais l'effet peut être relativement moins perceptible.)

Les lignes vides et les lignes commençant par # Seront ignorées en tant que commentaires.

De plus, @yearly, @annually, @monthly, @weekly, @daily, @midnight Et @hourly sont pris en charge en tant qu'alias pratiques. Ceux-ci utilisent le système de hachage pour l'équilibrage automatique. Par exemple, @hourly Est identique à H * * * * Et peut signifier à tout moment de l'heure. @midnight Signifie en fait un certain temps entre 00h00 et 02h59.

Exemples:

# every fifteen minutes (perhaps at :07, :22, :37, :52)
H/15 * * * *
# every ten minutes in the first half of every hour (three times, perhaps at :04, :14, :24)
H(0-29)/10 * * * *
# once every two hours every weekday (perhaps at 10:38 AM, 12:38 PM, 2:38 PM, 4:38 PM)
H 9-16/2 * * 1-5
# once a day on the 1st and 15th of every month except December
H H 1,15 1-11 *
16
Avihoo Mamka