web-dev-qa-db-ja.com

「5 * * * *」ではなく「H * * * *」を使用して負荷を均等に分散する

JenkinsがSubversionから変更をプルする方法を設定するときに、Poll SCMをチェックして、スケジュールを5 * * * *、次の警告が表示されます

「5 * * * *」ではなく「H * * * *」を使用して負荷を均等に分散する

このコンテキストでHが何を意味するのか、なぜそれを使用する必要があるのか​​はわかりません。

72
I'm busy coding

Hはハッシュの略です

定期的にスケジュールされたタスクがシステムに均等な負荷を生成できるようにするには、可能な限りシンボルH(「ハッシュ」)を使用する必要があります。たとえば、1ダースの毎日のジョブに0 0 * * *を使用すると、深夜に大きなスパイクが発生します。対照的に、H H * * *を使用すると、1日1回各ジョブが実行されますが、すべてが同時に実行されるわけではないため、限られたリソースを使用する方が適切です。

96
SMA

スケジュール仕様の横にある疑問符をクリックします。そこにあります:

定期的にスケジュールされたタスクがシステムに均等な負荷を生成できるようにするには、可能な限りシンボルH(「ハッシュ」)を使用する必要があります。たとえば、1ダースの毎日のジョブに0 0 * * *を使用すると、深夜に大きなスパイクが発生します。対照的に、H H * * *を使用すると、1日1回各ジョブが実行されますが、すべてが同時に実行されるわけではないため、限られたリソースを使用する方が適切です。

23
pitseeker

また、注目に値するドキュメントには次のことがあります。

H記号は範囲で使用できます。たとえば、H H(0-7) * * *は午前12:00(深夜)から7:59 AMまでの時間を意味します。また、Hでステップ間隔を使用することもできます。範囲なし。

Hシンボルは、ある範囲のランダムな値と考えることができますが、実際には、ランダムな関数ではなく、ジョブ名のハッシュであるため、特定のプロジェクトで値が安定します。

0
Bryan Cox