กระจายโหลดอย่างเท่าเทียมกันโดยใช้ 'H * * * *' แทนที่จะเป็น '5 * * * *'


93

เมื่อตั้งค่าวิธีที่ Jenkins shoul ดึงการเปลี่ยนแปลงจากการโค่นล้มฉันลองตรวจสอบ Poll SCM และกำหนดตารางเวลา5 * * * *ฉันได้รับคำเตือนต่อไปนี้

กระจายโหลดอย่างเท่าเทียมกันโดยใช้ 'H * * * *' แทนที่จะเป็น '5 * * * *'

ฉันไม่แน่ใจว่า H หมายถึงอะไรในบริบทนี้และทำไมฉันจึงควรใช้สิ่งนั้น

คำตอบ:


123

H ย่อมาจาก Hash

เพื่อให้งานที่กำหนดเวลาไว้เป็นระยะสามารถสร้างภาระบนระบบได้อย่างเท่าเทียมกันควรใช้สัญลักษณ์ H (สำหรับ“ แฮช”) ทุกที่ที่ทำได้ ตัวอย่างเช่นการใช้ 0 0 * * * สำหรับงานรายวันจำนวนโหลจะทำให้เกิดการเพิ่มขึ้นอย่างมากในเวลาเที่ยงคืน ในทางตรงกันข้ามการใช้ HH * * * จะยังคงดำเนินการแต่ละงานวันละครั้ง แต่ไม่ใช่ทั้งหมดในเวลาเดียวกันดีกว่าโดยใช้ทรัพยากรที่ จำกัด


1
อธิบายอย่างสวยงามโดย @ CédricJulienที่นี่ด้วย: stackoverflow.com/a/12472740/1579667
Benj

ควรอนุญาตให้คุณตั้งค่าหน้าต่าง (ไม่เร็วกว่านี้ไม่ช้ากว่านี้) หากคุณกำหนดเวลาที่แน่นอนควรเรียกใช้ในเวลาที่แน่นอน
Alexander Mills

1
@AlexanderMills ทำ: สัญลักษณ์ H สามารถใช้กับช่วง ตัวอย่างเช่น HH (0-7) * * * หมายถึงบางเวลาระหว่าง 00:00 น. (เที่ยงคืน) ถึง 07:59 น. คุณยังสามารถใช้ช่วงขั้นตอนกับ H โดยมีหรือไม่มีช่วงก็ได้
Big McLargeHuge

สัญลักษณ์ H ก็เหมือนจำนวนเต็มสุ่มหรือเปล่าฉันไม่รู้จริงๆเกี่ยวกับความหมายของ "แฮช" เหมือนกัน
Henson Fang

29

คลิกที่เครื่องหมายคำถามข้างข้อกำหนดกำหนดการของคุณ มันบอกว่า:

เพื่อให้งานที่กำหนดเวลาไว้เป็นระยะสามารถสร้างภาระบนระบบได้อย่างเท่าเทียมกันควรใช้สัญลักษณ์ H (สำหรับ“ แฮช”) ทุกที่ที่ทำได้ ตัวอย่างเช่นการใช้ 0 0 * * * สำหรับงานรายวันจำนวนโหลจะทำให้เกิดการเพิ่มขึ้นอย่างมากในเวลาเที่ยงคืน ในทางตรงกันข้ามการใช้ HH * * * จะยังคงดำเนินการแต่ละงานวันละครั้ง แต่ไม่ใช่ทั้งหมดในเวลาเดียวกันดีกว่าโดยใช้ทรัพยากรที่ จำกัด


8

นอกจากนี้ในเอกสารที่ควรสังเกตก็คือ:

สัญลักษณ์ H สามารถใช้ได้กับช่วง ตัวอย่างเช่น HH (0-7) * * * หมายถึงบางเวลาระหว่าง 00:00 น. (เที่ยงคืน) ถึง 07:59 น. คุณยังสามารถใช้ช่วงขั้นตอนกับ H โดยมีหรือไม่มีช่วงก็ได้

สัญลักษณ์ H สามารถคิดได้ว่าเป็นค่าสุ่มในช่วงหนึ่ง แต่จริงๆแล้วมันเป็นแฮชของชื่องานไม่ใช่ฟังก์ชันสุ่มเพื่อให้ค่าคงที่สำหรับโปรเจ็กต์ที่กำหนด

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.