Spread load evenly by using ‘H * * * *’ rather than ‘5 * * * *’

JenkinsBuildContinuous Integration

Jenkins Problem Overview


When setting up how Jenkins shoul pull changes from subversion I tried checked Poll SCM and set schedule to 5 * * * *, I get the following warning

> Spread load evenly by using ‘H * * * *’ rather than ‘5 * * * *’

I'm not sure what H means in this context and why I should use that.

Jenkins Solutions


Solution 1 - Jenkins

H stands for Hash

> To allow periodically scheduled tasks to produce even load on the > system, the symbol H (for “hash”) should be used wherever possible. > For example, using 0 0 * * * for a dozen daily jobs will cause a large > spike at midnight. In contrast, using H H * * * would still execute > each job once a day, but not all at the same time, better using > limited resources.

Solution 2 - Jenkins

Click on the question-mark beside your schedule specification. It says there:

> To allow periodically scheduled tasks to produce even load on the > system, the symbol H (for “hash”) should be used wherever possible. > For example, using 0 0 * * * for a dozen daily jobs will cause a large > spike at midnight. In contrast, using H H * * * would still execute > each job once a day, but not all at the same time, better using > limited resources.

Solution 3 - Jenkins

Also in the documentation worth noting is that:

The H symbol can be used with a range. For example, H H(0-7) * * * means some time between 12:00 AM (midnight) to 7:59 AM. You can also use step intervals with H, with or without ranges.

The H symbol can be thought of as a random value over a range, but it actually is a hash of the job name, not a random function, so that the value remains stable for any given project.

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
QuestionI'm busy codingView Question on Stackoverflow
Solution 1 - JenkinsSMAView Answer on Stackoverflow
Solution 2 - JenkinspitseekerView Answer on Stackoverflow
Solution 3 - JenkinsBryan CoxView Answer on Stackoverflow