Configuración de Magento Advanced / System / Cron *

9

Sinopsis

Así que quería confirmar mi comprensión de las configuraciones cron con Magento; bajo la consola de administración System > Configuration > Advanced > System > Cron:

Generar horarios cada #

No estoy seguro de qué se trata esta configuración.

Programar con anticipación para #

Supongo que esto programará # minutos antes de los crons. Si el planificador cron está configurado en la pestaña cron para ejecutarse cada 5 minutos, ¿este número también debería configurarse a 5 o Magento no reprogramaría los trabajos ya programados?

Perdido si no se ejecuta dentro de #

Esto me parece decir que cuando un cron está programado para ejecutarse y no se ejecuta en # minutos, se establece como 'perdido'.

Historial de limpieza cada #

Me imagino que esto debería pasar por la cron_Scheduletabla y eliminar todos los horarios perdidos y ejecutados # minutos después de que se ejecutaron / perdieron.

Historia de éxito de por vida #

Con respecto a la configuración anterior, ¿supongo que esto va a borrar todos los horarios exitosos después de # minutos?

Historial de fallas de por vida #

¿Supongo que esto eliminaría todos los horarios perdidos después de # minutos? y luego los history cleanup every #, success history and failure historyajustes son todos totalmente ambigua.

ceniza
fuente

Respuestas:

7

Lo que es confuso sobre los servicios cron de Magento es que, si bien son invocados por el cron del sistema, se abstraen otro nivel por encima de él en un modelo de evento / observador que es común en Magento.

Una vez que comprenda esto, la configuración tiene más sentido. Si desea ver qué hacen exactamente, su uso es bastante claro app/code/core/Mage/Cron/Model/Observer.php, que es el observador que se activa para el defaultevento en el crontabalcance y, a su vez, despacha todos los trabajos programados.

  • Genere horarios cada : intervalo de minutos para cuando Magento programará futuros trabajos. No programa automáticamente trabajos durante cada ejecución.
  • Programación anticipada para : minutos en el futuro en los que se pueden programar trabajos (agregados a la cron_schedulecola de la base de datos).
  • Perdido si no se ejecuta dentro : minutos después de la hora programada, los trabajos aún se pueden ejecutar antes de establecer su estado como missed, lo que entra en juego si la cola tarda mucho en completar todos los trabajos que se seleccionaron para ejecutarse durante el ejecución actual de Mage_Cron_Model_Observer::dispatch()(su hora programada es ahora o anterior).
  • Historial de limpieza cada : intervalo de minutos para cuando Magento realizará la limpieza en la cron_schedulecola de la base de datos, haciendo referencia a la configuración a continuación con respecto a la retención.
  • Historial de éxito de por vida e historial de fallas de por vida : minutos en el futuro para dejar registros en la cola después de que hayan alcanzado estos estados. Esto entra en juego si desea ver el resultado de trabajos pasados, ya que pueden haber colocado resultados resultantes cron_schedule.messages, lo que puede ser especialmente útil en el caso del errorestado.
arroz fantástico
fuente
¿Por qué si un cambio ahead_for_scehdule de 1 a 10, no se agregan más cronogramas a crontab?
LucScu
Los valores predeterminados son: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