Ändere ich jetzt jedes “Swag” zu “Swac” und “swag” zu “swac” einfach um den Klassennamen zu ändern, wird der task zwar in die Datenbank eingeführt, jedoch nie ausgeführt. Komischerweise ist in der Datenbank der Status dann auf queued (https://i.imgur.com/dG74ueA.png).
Wie man sehen kann habe ich auch schon versucht den tasknamen zu ändern, jedoch ohne erfolg. Meine source könnt ihr hier finden (https://workupload.com/file/8cPLYH5euCG)
schaut mal in die tabelle “dead_messages”, dort sollten die gründe für’s scheitern des jobs zu finden sein.
nach dem beheben dann den eintrag dort löschen und den job manuell wieder auf “scheduled” setzen…
Dito. Ich habe den Task in der Datenbank manuell einmalig auf scheduled gesetzt, um überhaupt damit entwickeln zu können.
Lustig ist auch, dass Änderungen am task handler sich manchmal gar nicht durchschlagen. Cache löschen, Neuregistrierung der Tasks etc… funktioniert nicht zuverlässig. Oder es ist nicht eindeutig dokumentiert, was man tun muss, um den Task „aufzufrischen“.
Ich habe das gleiche Problem und habe folgende Ursache gefunden:
Wenn der Cache neu generiert wird oder Produkte neu indexiert werden, werden manche Tasks nicht ausgeführt. Sobald die Cachegenerierung oder Produktindexierung abgeschlossen ist, laufen auch die Tasks wieder.
Beispiel: der Task shopware.invalidate_cache läuft nicht während der Cache neu generiert wird.
Ich tippe es hängt damit zusammen, was für Services an den Task übergeben werden. In meinem Fall ist es vermutlich das product.repository das das Problem verursacht.