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.
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% 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.