2015-02-27 13 views
8

Ich Laravel 5 auf Heroku läuft. Ich benutze die Laravel Queue für Hintergrundaufgaben. Was ist/sind die zuverlässigsten Möglichkeiten, um die Warteschlange anzuhören und ihre Jobs auszuführen?Laravel Queue Arbeiter auf Heroku

Antwort

9

Update: Deprecation Mitteilung

php artisan queue:work -h 

--daemon Run the worker in daemon mode (Deprecated) 

queue:work Lauf startet einen automatisch-Dämon. Die Flagge wird nicht mehr benötigt.


Für mich war es Redis als Queue-Treiber und eine Warteschlange worker Prozess zusätzlich zu den web Prozess einrichten.

Mein procfile sieht dann wie folgt aus:

web: vendor/bin/heroku-php-apache2 public/ 
worker: php artisan queue:work redis --sleep=3 --tries=3 --daemon 

Ich weiß wirklich nicht, ob dies der richtige Weg ist, sollte man gehen, aber es funktioniert jetzt.

Edit:

Beachten Sie, dass Sie beginnen, sich hier eine weitere dyno, wenn Sie also nicht die freie Tier mit auf Heroku Doppel es ist der Preis jetzt.

+1

Ist '--deamon' Modus gut für Sie auf Heroku arbeiten? – Till

+1

@Till ja es tut. Welche Probleme hast du damit? – eneskaya

+0

Keine Probleme, nur wundernd. Vielen Dank! – Till

1

Ich habe gefunden, die Queue Worker als ein Daemon Laravel docs funktioniert gut, wenn mit Supervisord supervisor docs verwendet wird, die den Prozess beobachten und neu starten, wenn es aus irgendeinem Grund fehlschlagen sollte.

Laravel Forge unterstützt dies die Box aus und liefert Ihnen eine GUI zur Einrichtung der Daemon und Supervisor Aufgaben, wenn das etwas ist, das Sie bevorzugen würde