Paramètres Magento Advanced / System / Cron *

9

Synopsis

Je voulais donc confirmer ma compréhension des configurations cron avec Magento; sous la console d'administration System > Configuration > Advanced > System > Cron:

Générez des horaires tous les #

Je ne sais pas de quoi il s'agit.

Planifier à l'avance pour #

Je suppose que cela programmera # minutes d'avance sur crons. Si le planificateur cron est configuré dans l'onglet cron pour s'exécuter toutes les 5 minutes , ce nombre doit-il également être configuré sur 5 ou Magento ne replanifiera-t-il pas les travaux déjà planifiés?

Manqué s'il n'est pas exécuté dans #

Cela m'apparaît comme pour dire quand un cron est programmé pour s'exécuter et n'est pas exécuté dans # minutes, il est défini comme «manqué».

Nettoyage de l'historique tous les #

J'imagine que cela devrait parcourir la cron_Scheduletable et effacer tous les horaires manqués et exécutés # minutes après leur exécution / manquement?

Historique de réussite Durée de vie #

En ce qui concerne la configuration précédente, je suppose que cela va effacer tous les horaires réussis après # minutes?

Durée de vie de l'historique des défaillances #

Je suppose que cela effacera tous les horaires manqués après # minutes? puis les history cleanup every #, success history and failure historyparamètres sont tous entièrement ambigus.

cendre
la source

Réponses:

7

La chose qui prête à confusion au sujet des services cron de Magento est que, bien qu'ils soient invoqués par le cron système, ils sont abstraits à un autre niveau au-dessus de lui dans un modèle d'événement / observateur qui est courant dans Magento.

Une fois que vous comprenez cela, les paramètres ont plus de sens. Si vous voulez voir ce qu'ils font exactement, leur utilisation est assez claire app/code/core/Mage/Cron/Model/Observer.php, c'est-à-dire l'observateur qui est déclenché pour l' defaultévénement dans la crontabportée et envoie à son tour tous les travaux planifiés.

  • Générez des planifications toutes les : intervalle de minutes pendant lequel Magento planifiera les travaux futurs. Il ne planifie pas automatiquement les travaux à chaque exécution.
  • Planifier à l'avance : quelques minutes dans le futur pour que les travaux puissent être planifiés (ajoutés à la cron_schedulefile d'attente de la base de données).
  • Manqué s'il n'est pas exécuté dans : minutes après leur heure planifiée, les travaux peuvent toujours être exécutés avant que leur statut ne soit défini comme missed, ce qui entre en jeu si la file d'attente met longtemps à parcourir tous les travaux qui ont été sélectionnés pour s'exécuter pendant la exécution en cours de Mage_Cron_Model_Observer::dispatch()(l'heure prévue est maintenant ou plus tôt).
  • Nettoyage de l'historique toutes les : intervalle de minutes pendant lequel Magento effectuera le nettoyage de la cron_schedulefile d'attente de la base de données, en faisant référence aux paramètres ci-dessous concernant la conservation.
  • Durée de vie de l'historique de réussite et durée de vie de l' échec : minutes dans le futur pour laisser les enregistrements dans la file d'attente une fois qu'ils auront atteint ces statuts. Cela entre en jeu si vous voulez voir le résultat des travaux passés car ils peuvent avoir placé la sortie résultante dans cron_schedule.messages, ce qui peut être particulièrement utile dans le cas du errorstatut.
fantasticrice
la source
pourquoi si un changement ahead_for_scehdule de 1 à 10, plus aucun calendrier n'est ajouté à crontab?
LucScu
Les valeurs par défaut sont: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