Laravel Horizon auf Shared Webhosting nutzen

FrazeColder

Lt. Commander
Registriert
Okt. 2013
Beiträge
1.721
Hallo zusammen,

ich nutze Laravel für meine Applikation und habe Shared Webhosting Paket (Netcup). Ich kann auf der Umgebung all meine Prozesse problemlos ausführen. Allerdings stoße ich jetzt an die Grenzen. Denn ich würde gerne Laravel Horizon nutzen, um meine Queue abzuarbeiten.

Hierfür muss ich im Terminal folgenden Befehl ausführen:
PHP:
php artisan horizon

Dies startet dann meinen Worker. Das funktioniert so weit auch ganz gut. Allerdings leider nur, wenn ich das Terminal offen habe.

Sobald ich dieses schließe, hört der Worker auf zu arbeiten. Wie kann ich auf meinem Shared Webhosting den Worker immer laufen lassen im Hintergrund?

Viele Grüße
 
nohup steht für "no hang up" und ermöglicht es, einen Prozess im Hintergrund weiterlaufen zu lassen, auch wenn die SSH-Sitzung geschlossen wird.

Das "&" am Ende des Befehls sorgt dafür, dass der Prozess im Hintergrund gestartet wird. nohup sorgt dafür, dass der Prozess nicht beendet wird, wenn die SSH-Verbindung geschlossen wird.


nohup php artisan horizon &
 
nohup php artisan horizon &

normalerweise würde man noch einen service erstellen, damit das auch automatisch gestartet wird bzw. restartet wird, falls sich das warum auch immer mal beendet. aber k.a. ob das bei dem hosting-paket möglich ist.
 
mit dem befehl sieht du keinen output mehr (der steht dann in "nohup.out"). der "php"-prozess sollte in der prozessliste sichtbar sein. also da mal schauen bzw. nachschauen, ob dein servive erreichbar ist und das nicht am fehlenden output in der konsole festmachen.
 
  • Gefällt mir
Reaktionen: klausk1978
Ich kann das mit dem Package über dein Cronjob lösen:
https://ralphjsmit.com/laravel-horizon-supervisor-alternative

Allerdings funktioniert das leider irgendwie nur lokal und nicht auf dem Webserver
Ergänzung ()

Da kommt dieser Fehler:

2024-09-01 15:27:02 Running ['artisan' supervisor:check] ..... 454.01ms FAIL
⇂ '/usr/local/php83/bin/php' 'artisan' supervisor:check > '/dev/null' 2>&1
 
Das wird auf einem simplen Webhosting Paket möglicherweise gar nicht nutzbar sein so.
 

Ähnliche Themen

Zurück
Oben