Distribua a carga uniformemente usando 'H * * * *' em vez de '5 * * * *'


93

Ao configurar como Jenkins deve puxar as alterações do subversion, eu tentei verificar Poll SCM e definir a programação para 5 * * * *, recebo o seguinte aviso

Distribua a carga uniformemente usando 'H * * * *' em vez de '5 * * * *'

Não tenho certeza do que H significa neste contexto e por que devo usá-lo.

Respostas:


123

H significa Hash

Para permitir que tarefas agendadas periodicamente produzam uma carga uniforme no sistema, o símbolo H (para “hash”) deve ser usado sempre que possível. Por exemplo, usar 0 0 * * * para uma dúzia de tarefas diárias causará um grande pico à meia-noite. Por outro lado, usar HH * * * ainda executaria cada trabalho uma vez por dia, mas não todos ao mesmo tempo, melhor usando recursos limitados.


1
Muito bem explicado por @ CédricJulien aqui também: stackoverflow.com/a/12472740/1579667
Benj

Deve permitir que você defina uma janela (não antes disso, não depois disso). Se você definir uma hora exata, ele deve executá-lo na hora exata.
Alexander Mills

1
Sim, @AlexanderMills: O símbolo H pode ser usado com um intervalo. Por exemplo, HH (0-7) * * * significa algum horário entre 0h (meia-noite) e 7h59. Você também pode usar intervalos de etapas com H, com ou sem intervalos.
Big McLargeHuge

Então o símbolo H é como um inteiro aleatório? Eu realmente não sei sobre o significado de "hash" também.
Henson Fang

29

Clique no ponto de interrogação ao lado de sua especificação de programação. Diz lá:

Para permitir que tarefas agendadas periodicamente produzam uma carga uniforme no sistema, o símbolo H (para “hash”) deve ser usado sempre que possível. Por exemplo, usar 0 0 * * * para uma dúzia de tarefas diárias causará um grande pico à meia-noite. Por outro lado, usar HH * * * ainda executaria cada trabalho uma vez por dia, mas não todos ao mesmo tempo, melhor usando recursos limitados.


8

Também na documentação digna de nota é que:

O símbolo H pode ser usado com um intervalo. Por exemplo, HH (0-7) * * * significa algum horário entre 0h (meia-noite) e 7h59. Você também pode usar intervalos de etapas com H, com ou sem intervalos.

O símbolo H pode ser considerado um valor aleatório em um intervalo, mas na verdade é um hash do nome do trabalho, não uma função aleatória, de modo que o valor permanece estável para qualquer projeto.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.