Chia đều tải bằng cách sử dụng 'H * * * *' thay vì '5 * * * *'


91

Khi thiết lập cách Jenkins shoul pull thay đổi từ lật đổ, tôi đã thử kiểm tra Poll SCM và đặt lịch 5 * * * *, tôi nhận được cảnh báo sau

Chia đều tải bằng cách sử dụng 'H * * * *' thay vì '5 * * * *'

Tôi không chắc H có nghĩa là gì trong ngữ cảnh này và tại sao tôi nên sử dụng nó.

Câu trả lời:


121

H là viết tắt của Hash

Để cho phép các tác vụ được lập lịch định kỳ tạo ra tải đều trên hệ thống, ký hiệu H (cho “băm”) nên được sử dụng bất cứ khi nào có thể. Ví dụ: sử dụng 0 0 * * * cho hàng chục công việc hàng ngày sẽ gây ra mức tăng đột biến lớn vào lúc nửa đêm. Ngược lại, sử dụng HH * * * sẽ vẫn thực hiện từng công việc một lần một ngày, nhưng không phải tất cả cùng một lúc, tốt hơn bằng cách sử dụng tài nguyên hạn chế.


1
@ CédricJulien cũng giải thích rất hay ở đây: stackoverflow.com/a/12472740/1579667
Benj

Nó sẽ cho phép bạn đặt một cửa sổ (không sớm hơn thời điểm này, không muộn hơn thời điểm này). Nếu bạn đặt thời gian chính xác, nó sẽ chạy vào thời điểm chính xác.
Alexander Mills

1
@AlexanderMills nó thực hiện: Biểu tượng H có thể được sử dụng với một phạm vi. Ví dụ: HH (0-7) * * * có nghĩa là khoảng thời gian từ 12:00 sáng (nửa đêm) đến 7:59 sáng. Bạn cũng có thể sử dụng khoảng bước với H, có hoặc không có phạm vi.
Big McLargeHuge

Vì vậy, ký hiệu H giống như một số nguyên ngẫu nhiên? Tôi cũng không thực sự biết về ý nghĩa của "băm".
Henson Fang

29

Nhấp vào dấu chấm hỏi bên cạnh đặc tả lịch trình của bạn. Nó nói ở đó:

Để cho phép các tác vụ được lập lịch định kỳ tạo ra tải đều trên hệ thống, ký hiệu H (cho “băm”) nên được sử dụng bất cứ khi nào có thể. Ví dụ: sử dụng 0 0 * * * cho hàng chục công việc hàng ngày sẽ gây ra mức tăng đột biến lớn vào lúc nửa đêm. Ngược lại, sử dụng HH * * * sẽ vẫn thực hiện từng công việc một lần một ngày, nhưng không phải tất cả cùng một lúc, tốt hơn bằng cách sử dụng tài nguyên hạn chế.


8

Cũng trong tài liệu đáng chú ý là:

Biểu tượng H có thể được sử dụng với một phạm vi. Ví dụ: HH (0-7) * * * có nghĩa là khoảng thời gian từ 12:00 sáng (nửa đêm) đến 7:59 sáng. Bạn cũng có thể sử dụng khoảng bước với H, có hoặc không có phạm vi.

Biểu tượng H có thể được coi là một giá trị ngẫu nhiên trong một phạm vi, nhưng nó thực sự là một hàm băm của tên công việc, không phải là một hàm ngẫu nhiên, để giá trị vẫn ổn định cho bất kỳ dự án nhất định nào.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.