Hallo zusammen,
ich habe gestern aus Performancegründen die beiden Tasks
scheduled-task:run
messenger:consume
in Cronjobs ausgelagert. (Shopware 6.7.8.2)
Diese sehen wie folgt aus:
/opt/plesk/php/8.2/bin/php -d memory_limit=512M /var/www/vhosts/mypage/httpdocs/testshop2/bin/console scheduled-task:run
/opt/plesk/php/8.2/bin/php -d memory_limit=512M /var/www/vhosts/mypage/httpdocs/testshop2/bin/console messenger:consume async --time-limit=295 --memory-limit=512M
Ich erhalte aber folgenden Fehler:
18:17:50 CRITICAL [console] Error thrown while running command "scheduled-task:run". Message: "An exception occurred while executing a query: SQLSTATE[HY000]: General error: 2006 MySQL server has gone away" ["exception" => Doctrine\DBAL\Exception\ConnectionLost { …},"command" => "scheduled-task:run","message" => "An exception occurred while executing a query: SQLSTATE[HY000]: General error: 2006 MySQL server has gone away"]
In den Statusmeldungen von FroshTools:
Open Queues - 148min
Scheduled Tasks Overdue - 35min
Hat jemand eine Ahnung, woran das liegen könnte. Bin da gerade am verzweifeln.
Versuchs mal mit scheduled-task:run --time-limit=10
Falls sich viel angestaut, aufgeschauket hat kannst du über Frosh die Warteschlange zurücksetzen und dann die Aufgaben neu registrieren.
1 „Gefällt mir“
Ich habe den Befehl mal per Konsole ausgeführt, ich glaube aber nicht, dass das was gebracht hat:
Scheduled task runner stopped due to time limit of 10s reached
Der Job sollte immer mit Parameter aufgerufen werden. Beide Cronjobs dann regelmäßig z.B. alle 5 Min laufen lassen, dann sollten auch deine Open Queues + Scheduled Tasks Overdue runtergehen.
Moin,
ich denke das eigentliche Problem, das man sich eventuell anschauen müsste, ist warum sich der DB Server verabschiedet hat 
MySQL server has gone away
Vermutlich haben da irgendwelche Systemressourcen nicht ausgereicht.
Grüße
Matthias
Dieses Problem habe ich (glaube ich) behoben, indem ich in der my.cnf
max_allowed_packet = 1G
gesetzt habe.
Ich habe beide Cronjobs auf 5 Minuten eingestellt, jedoch wird die Auslastung der Tasks in FroshTools nicht geringer. Hat jemand Erfahrung mit der Einstellung in Plesk und kann seine Konfiguration teilen?
Moin @ingenious_design ,
kann man hier leider nicht pauschal sagen, was für Werte du setzen musst 
Da niemand das System kennt und was du alles drauf laufen hast.
Du solltest als erstes einmal in Erfahung bringen, warum es nicht geringer wird. Was genau wird nicht geringer? Wird die Warteschlange nicht abgearbietet oder werden neue Tasks nicht angestoßen?
Anschließend in den Logs schauen, ob es Fehlermeldungen zu finden gibt.
Arbeitest du mit Redis oder wird die Warteschlange in der Datenbank gespeichert? Dann auch da einmal schauen nach den Einträgen.
Ich selber arbeite auch nicht mit Cronjobs sondern mit supervisorjobs. Aber das hat mit dem eigentlichen Problem nichts zu tun 
Grüße
Matthias
Ich würde auch auf PHP 8.4 oder 8.5 gehen (ja PHP 8.2 wird weiter unterstützt)
Bis Ende 2026 gibts noch Sicherheitsupdates: PHP: Supported Versions