Konfigurieren von Cron-Aufträgen
Mehrere Commerce-Funktionen erfordern mindestens einen Cron-Auftrag, der Aktivitäten für die Zukunft plant. Eine teilweise Liste dieser Aktivitäten folgt:
- Katalogpreisregeln
- Newsletter
- Erstellen von Google Sitemaps
- Kundenwarnungen/Benachrichtigungen (Produktpreisänderung, Produkt wieder auf Lager)
- Neuindizierung
- Private Verkäufe (nur Adobe Commerce)
- Automatische Aktualisierung der Währungskurse
- Alle Commerce-E-Mails (einschließlich Bestellbestätigung und -transaktionen)
dev/tools/cron.sh
weil das Skript entfernt wurde.UNIX-Systeme planen Aufgaben, die von bestimmten Benutzern mit einer crontab, eine Datei, die Anweisungen für den Cron-Daemon enthält, der dem Daemon tatsächlich anweist, diesen Befehl zu diesem Zeitpunkt an diesem Datum auszuführen. Jeder Benutzer verfügt über eine eigene Registerkarte und Befehle in jeder beliebigen Registerkarte werden als der Benutzer ausgeführt, dem die Registerkarte gehört.
Informationen zum Ausführen von Cron in einem Webbrowser finden Sie unter Sichere cron.php für die Ausführung im Browser.
Erstellen oder Entfernen der Registerkarte "Commerce"
In diesem Abschnitt wird beschrieben, wie Sie Ihre Commerce-Crontab (d. h. die Konfiguration für Commerce-Cron-Aufträge) erstellen oder entfernen.
Die crontab ist die Konfiguration zum Ausführen von Cron-Aufträgen.
Die Commerce-Anwendung verwendet Cron-Aufgaben, die mit verschiedenen Konfigurationen ausgeführt werden können. Die PHP-Befehlszeilenkonfiguration steuert den allgemeinen Cron-Auftrag, der Indexer neu indiziert, E-Mails generiert, die Sitemap generiert und so weiter.
- Um Probleme während der Installation und Aktualisierung zu vermeiden, empfehlen wir dringend, die gleichen PHP-Einstellungen sowohl auf die PHP-Befehlszeilenkonfiguration als auch auf die Konfiguration des PHP-Webserver-Plug-ins anzuwenden. Weitere Informationen finden Sie unter Erforderliche PHP-Einstellungen.
- In einem System mit mehreren Knoten kann crontab nur auf einem Knoten ausgeführt werden. Dies gilt nur für Sie, wenn Sie aus Gründen der Leistung oder Skalierbarkeit mehr als einen Webknoten einrichten.
Erstellen der Commerce-Registerkarte
Ab Version 2.2 erstellt Commerce eine Crontab für Sie. Wir fügen die Commerce-Crontab zu jedem konfigurierten Crontab für den Eigentümer des Commerce-Dateisystems hinzu. Wenn Sie also bereits Registerkarten für andere Erweiterungen oder Anwendungen eingerichtet haben, fügen wir die Registerkarte "Commerce"hinzu.
Die Registerkarte "Commerce"befindet sich in #~ MAGENTO START
und #~ MAGENTO END
Kommentare in der Registerkarte "Kronen".
So erstellen Sie die Registerkarte "Commerce":
-
Melden Sie sich bei der Dateisysteminhaber.
-
Wechseln Sie zum Installationsverzeichnis für Commerce.
-
Geben Sie den folgenden Befehl ein:
code language-bash bin/magento cron:install [--force]
Verwendung --force
, um eine vorhandene Registerkarte neu zu schreiben.
magento cron:install
schreibt keine vorhandene Registerkarte in#~ MAGENTO START
und#~ MAGENTO END
Kommentare in der Registerkarte "Kronen".magento cron:install --force
hat keine Auswirkungen auf Cron-Aufträge außerhalb der Commerce-Kommentare.
Um die Registerkarte "crontab"anzuzeigen, geben Sie den folgenden Befehl als Dateisysteminhaber ein:
crontab -l
Ein Beispiel:
#~ MAGENTO START c5f9e5ed71cceaabc4d4fd9b3e827a2b
* * * * * /usr/bin/php /var/www/html/magento2/bin/magento cron:run 2>&1 | grep -v "Ran jobs by schedule" >> /var/www/html/magento2/var/log/magento.cron.log
#~ MAGENTO END c5f9e5ed71cceaabc4d4fd9b3e827a2b
update/cron.php
-Datei in Commerce 2.4.0 entfernt wurde. Wenn diese Datei in Ihrer Installation vorhanden ist, kann sie sicher entfernt werden.update/cron.php
und bin/magento setup:cron:run
sollte auch aus dem Crontab entfernt werden."Entfernen Sie die Registerkarte "Commerce"
Sie sollten die Registerkarte "Commerce"nur entfernen, bevor Sie die Commerce-Anwendung deinstallieren.
So entfernen Sie die Commerce-Registerkarte:
-
Melden Sie sich als an oder wechseln Sie zu Dateisysteminhaber.
-
Wechseln Sie zum Installationsverzeichnis für Commerce.
-
Geben Sie den folgenden Befehl ein:
code language-bash bin/magento cron:remove
#~ MAGENTO START
und #~ MAGENTO END
Kommentare in der Registerkarte "Kronen".Ausführen von cron über die Befehlszeile
Befehlsoptionen:
bin/magento cron:run [--group="<cron group name>"]
where --group
gibt die auszuführende Cron-Gruppe an (diese Option zum Ausführen von Cron für alle Gruppen auslassen)
Geben Sie Folgendes ein, um den Indexierungscron-Auftrag auszuführen:
bin/magento cron:run --group index
Geben Sie Folgendes ein, um den standardmäßigen Cron-Auftrag auszuführen:
bin/magento cron:run --group default
Informationen zum Einrichten von benutzerdefinierten Cron-Aufträgen und -Gruppen finden Sie unter Benutzerdefinierte Cron-Aufträge und Cron-Gruppen konfigurieren.
scheduled_at
Zeit für jede Aufgabe.Protokollierung
Alle cron
Auftragsinformationen wurden verschoben von system.log
in einen gesonderten cron.log
.
Standardmäßig finden Sie die Cron-Informationen unter <install_directory>/var/log/cron.log
.
Alle Ausnahmen von Cron-Aufträgen werden von \Magento\Cron\Observer\ProcessCronQueueObserver::execute
.
Zusätzlich zur Anmeldung cron.log
:
-
Fehlgeschlagene Aufträge mit
ERROR
undMISSED
-Status in der<install_directory>/var/log/support_report.log
. -
Aufträge mit einer
ERROR
Status immer protokolliert werden alsCRITICAL
in<install_directory>/var/log/exception.log
. -
Aufträge mit einer
MISSED
Status werden protokolliert alsINFO
im<install_directory>/var/log/debug.log
Verzeichnis (nur Entwicklermodus).
cron_schedule
in der Commerce-Datenbank. Die Tabelle enthält einen Verlauf der Cron-Aufträge, einschließlich:- Auftrags-ID und -Code
- Status
- Erstellungsdatum
- Geplantes Datum
- Ausgeführtes Datum
- Enddatum
SELECT * from cron_schedule;
.