Configurações do Magento Advanced / System / Cron *

9

Sinopse

Então, eu queria confirmar meu entendimento das configurações do cron com o Magento; no console do administrador System > Configuration > Advanced > System > Cron:

Gere agendamentos a cada #

Não tenho certeza sobre o que é essa configuração.

Programar com antecedência para #

Estou assumindo que isso agendará # minutos à frente dos crons. Se o agendador cron estiver configurado na guia cron para ser executado a cada 5 minutos , esse número também deve ser configurado para 5 ou o Magento não reagendará os trabalhos já agendados?

Faltou se não for executado dentro de #

Isso me parece como dizer quando um cron está programado para ser executado e não é executado em # minutos, é definido como 'perdido'.

Limpeza do histórico a cada #

Eu imagino que isso deve percorrer a cron_Scheduletabela e limpar todos os agendamentos perdidos e executados # minutos depois que eles foram executados / perdidos?

Histórico de sucesso Vida útil #

Em relação à configuração anterior, presumo que isso limpará todos os agendamentos bem-sucedidos após # minutos?

Tempo de vida útil do histórico de falhas #

Suponho que isso limparia todos os agendamentos perdidos após # minutos? e, em seguida, as history cleanup every #, success history and failure historyconfigurações são todos inteiramente ambígua.

cinza
fonte

Respostas:

7

O que é confuso nos serviços cron do Magento é que, embora sejam invocados pelo cron do sistema, eles são abstraídos outro nível acima dele em um modelo de evento / observador que é comum em todo o Magento.

Depois de entender isso, as configurações fazem mais sentido. Se você deseja ver exatamente o que eles fazem, seu uso é bem claro app/code/core/Mage/Cron/Model/Observer.php, que é o observador que é acionado para o defaultevento no crontabescopo e, por sua vez, despacha todos os trabalhos agendados.

  • Gere agendamentos a cada intervalo de minutos para quando o Magento agendará trabalhos futuros. Ele não agenda automaticamente trabalhos durante cada execução.
  • Programar com antecedência : minutos no futuro em que os trabalhos podem ser agendados (adicionados à cron_schedulefila do banco de dados).
  • Perdido se não for executado dentro de : minutos após o horário agendado, os trabalhos ainda poderão ser executados antes de terem seu status definido como missed, o que entrará em vigor se a fila estiver demorando muito tempo para concluir todos os trabalhos que foram selecionados para serem executados durante o processo. execução atual de Mage_Cron_Model_Observer::dispatch()(o horário agendado é agora ou anterior).
  • Limpeza do histórico A cada : minutos para o Magento realizar a limpeza na cron_schedulefila do banco de dados, fazendo referência às configurações abaixo relacionadas à retenção.
  • História de sucesso Lifetime & Failure History Lifetime : minutos no futuro para deixar registros na fila após terem atingido estes estados. Isso entra em jogo se você quiser ver o resultado de trabalhos anteriores, pois eles podem ter colocado a saída resultante cron_schedule.messages, o que pode ser especialmente útil no caso de errorstatus.
fantasticrice
fonte
por que, se uma alteração ahead_for_scehdule de 1 para 10, nenhum agendamento for adicionado ao crontab?
LucScu
Os padrões são:schedule_generate_every 15 schedule_ahead_for 20 schedule_lifetime 15 history_cleanup_every 10 history_success_lifetime 60 history_failure_lifetime 600
Collin Anderson