Magento Advanced / System / Cron * -Einstellungen

9

Zusammenfassung

Deshalb wollte ich mein Verständnis der Cron-Konfigurationen mit Magento bestätigen. unter der Admin-Konsole System > Configuration > Advanced > System > Cron:

Generieren Sie Zeitpläne für alle #

Ich bin mir nicht sicher, worum es bei dieser Einstellung geht.

Planen Sie voraus für #

Ich gehe davon aus, dass dies # Minuten vor Cron geplant wird. Wenn der Cron-Scheduler auf der Registerkarte Cron so konfiguriert ist, dass er alle 5 Minuten ausgeführt wird, sollte diese Nummer auch auf 5 konfiguriert werden, oder würde Magento bereits geplante Jobs nicht neu planen?

Verpasst, wenn nicht innerhalb von # ausgeführt

Dies scheint mir zu sagen, wenn ein Cron ausgeführt werden soll und nicht innerhalb von # Minuten ausgeführt wird, wird er als "verpasst" festgelegt.

Verlaufsbereinigung Alle #

Ich stelle mir vor, dies sollte durch die cron_ScheduleTabelle laufen und alle verpassten und ausgeführten Zeitpläne # Minuten nach ihrer Ausführung / Verpassen löschen?

Erfolgsgeschichte Lebenszeit #

In Bezug auf die vorherige Konfiguration gehe ich davon aus, dass dadurch alle erfolgreichen Zeitpläne nach # Minuten gelöscht werden.

Lebensdauer des Fehlerverlaufs #

Ich gehe davon aus, dass dies alle verpassten Zeitpläne nach # Minuten ausräumen würde. und dann sind die history cleanup every #, success history and failure historyEinstellungen alle völlig mehrdeutig.

Asche
quelle

Antworten:

7

Das Verwirrende an den Cron-Diensten von Magento ist, dass sie zwar vom System-Cron aufgerufen werden, aber in einem in Magento üblichen Ereignis- / Beobachtermodell eine weitere Ebene darüber abstrahiert werden .

Sobald Sie dies verstanden haben, sind die Einstellungen sinnvoller. Wenn Sie sehen möchten, was sie genau tun, ist ihre Verwendung in ziemlich klar. Dies app/code/core/Mage/Cron/Model/Observer.phpist der Beobachter, der für das defaultEreignis im crontabBereich ausgelöst wird und der wiederum alle geplanten Jobs versendet.

  • Zeitpläne erstellen Alle : Minuten Intervall, in dem Magento zukünftige Aufträge plant. Jobs werden nicht automatisch bei jeder Ausführung geplant.
  • Vorausplanen für : Minuten in der Zukunft, in denen Jobs geplant werden können (zur cron_scheduleDatenbankwarteschlange hinzugefügt ).
  • Verpasst, wenn nicht innerhalb von Minuten ausgeführt: Minuten nach der geplanten Zeit können Jobs noch ausgeführt werden, bevor ihr Status als festgelegt missedwird. Dies kommt ins Spiel, wenn die Warteschlange lange braucht, um alle Jobs zu durchlaufen, die für die Ausführung während des Zeitraums ausgewählt wurden aktuelle Ausführung von Mage_Cron_Model_Observer::dispatch()(ihre geplante Zeit ist jetzt oder früher).
  • Verlaufsbereinigung Alle : Minuten Intervall, in dem Magento eine Bereinigung der cron_scheduleDatenbankwarteschlange durchführt, wobei auf die folgenden Einstellungen bezüglich der Aufbewahrung verwiesen wird.
  • Erfolgsgeschichte Lebensdauer & Failure History Lebensdauer : Minuten in der Zukunft Datensätze in der Warteschlange zu verlassen , nachdem sie diesen Status erreicht hat. Dies kommt ins Spiel, wenn Sie das Ergebnis früherer Jobs anzeigen möchten, da diese möglicherweise die resultierende Ausgabe platziert haben, was cron_schedule.messagesim Fall des errorStatus besonders hilfreich sein kann .
fantastischer Reis
quelle
Warum wird crontab kein Zeitplan mehr hinzugefügt, wenn eine Änderung vor 1 für 10 von 1 auf 10 erfolgt?
LucScu
Standardeinstellungen sind: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