Wie funktioniert die Laravel-Queue? Was passiert, wenn php artisan queue: listen aufhört?

8

Ich habe Bohnen gehangen und es funktioniert gut mit Laravel. Der Punkt, an dem ich verwirrt bin, ist, dass wir tun müssen

%Vor%

um die Warteschlange zu hören. Momentan benutze ich es auf Amazon ec2 instance via putty. aber was ist das nahe terminal? Werden die durch den Code erstellten Jobs funktionieren? Wird manuell php artisan queue:listen oder php artisan queue:work alle Zeit aufgerufen. Was nicht fair erscheint.

Wenn einmal php artisan queue:listen erledigt ist, läuft es weiter, auch wenn wir das Terminal schließen?

Eigentlich weiß ich es nicht.

    
Rajan Rawal 22.12.2014, 11:17
quelle

2 Antworten

11

Sie müssen auch den Supervisor installieren. Hier ist ein Tutorial zur Verwendung von beanstalkd mit Laravel:

Ссылка

Hier sind auch Details zum Supervisor:

Ссылка

Ich benutze persönlich eine Redis-Instanz und führe meine Warteschlange mit einem Supervisor von dort aus. Ich finde es ein bisschen mehr Speicher effektiv als Bohnenstange persönlich, aber jeder zu besitzen.

Supervisor führt die Warteschlange aus: hoeren Sie den Befehl von artisan und dies wird einen Job ausführen. Wenn Sie mehrere Supervisor-Prozesse haben, können Sie mehrere In-line-Elemente ausführen. je nachdem, was Sie tun, würde ich fast in Python und Multithreading auch, wie ich dies für ein paar Dinge, die ich verwendet, um eine Warteschlange für verwendet hatte, und es hat noch bessere Ergebnisse zur Verfügung gestellt.

Beispiel Konfigurationsdatei für Supervisor:

%Vor%     
clonerworks 22.12.2014 11:21
quelle
0

Sie können auch Laravels Task Scheduler verwenden, d. h. fügen Sie dem Scheduler den Befehl php artisan queue:listen hinzu und legen Sie die Häufigkeit auf den von Ihnen gewünschten Wert fest.

Damit wird sichergestellt, dass der Warteschlangen-Empfangsprozess automatisch aufgerufen wird.

Ich hoffe, es wird Sinn machen.

    
Jenis Patel 04.04.2017 10:42
quelle

Tags und Links