Auf meiner API wollte ich Warteschlangentreiber ändern. Ich wollte von Beanstalkd nach Redis wechseln.Schwerwiegender Fehler: Klasse 'Pheanstalk Pheanstalk' nicht gefunden
Also in meinem composer.json
änderte ich meine Abhängigkeiten "pda/pheanstalk": "^3.0"
zu "predis/predis": "~1.0"
. Dann ging ich zu Laravel Forge, eine neue Queue Worker hinzugefügt, die wie folgt aussieht:
ich meine .env
Datei aktualisiert: QUEUE_DRIVER=redis
und lief composer update
. Nachdem ich versucht habe, eine Benachrichtigung (mit E-Mail) auszulösen, implementiert die Benachrichtigung die Schnittstelle ShouldQueue
und verwendet die Eigenschaft Queueable
. Die Benachrichtigung wurde erfolgreich gesendet (auch über die Warteschlange).
In diesem Moment war ich glücklich, aber warten Sie ... ich meine Sentry Fragen überprüfen und sah die folgenden Fehler:
Fatal Error: Class 'Pheanstalk\Pheanstalk' not found in vendor/laravel/framework/src/Illuminate/Queue/Connectors/BeanstalkdConnector.php in connect at line 21.
In diesem Moment der Fehler/Probleme 200 Mal pro Minute erfolgt um.
Was ich versucht:
- Entfernen Sie alle Fehlgeschlagene Jobs aus der Warteschlange
- Starten Sie den Server
- Auch wieder die
pda/pheanstalk
Paket über Komponist installieren.
Also im Moment habe ich die pda/pheanstalk
installiert, aber nicht über die beanstalkd Warteschlange Arbeiter laufen und ich bin immer noch die Class 'Pheanstalk\Pheanstalk' not found
Fehler.
Meine beste Vermutung ist, dass, als ich den BeanStalkd-Queue-Worker entfernte und das Paket mit Composer löste, ein Job im Queue-Worker ausgeführt wurde und jetzt diesen Job immer wieder wiederholt. Aber natürlich könnte ich völlig falsch liegen.
Irgendwelche Ideen, was hier falsch läuft?
EDIT
Ich habe gelöscht jetzt meine Seite von Forge, geprüft, ob der Code gelöscht. In Sentry wird der Fehler noch protokolliert. Das Projekt existiert nicht mehr auf dem Server.
versuchen Sie, alle Ihre Arbeiter neu zu starten – elegisandi