Verwenden Sie die Laravel-Warteschlange, um WeChat-Zahlungsbenachrichtigungen zu verarbeiten.
Bei Verwendung des Warteschlangenüberwachungsbefehls wird die Warteschlange normal ausgeführt. (Der Befehl lautet php artisan queue:listen).
Datenbanktreiber verwenden.
Nachdem Sie die Warteschlangenüberwachung ausgeführt haben, schließen Sie das Serverterminal. Wenn zu diesem Zeitpunkt eine neue Aufgabe vorhanden ist, wird die Warteschlange trotzdem ausgeführt.
Aber nach einer Weile, etwa einer Stunde. Die Warteschlange wird nicht mehr ausgeführt und viele Aufgaben haben sich in der Datenbank angesammelt. Wenn Sie den Überwachungsbefehl zu diesem Zeitpunkt weiterhin ausführen, werden die angesammelten Aufgaben ausgeführt und aus der Aufgabentabelle gelöscht.
Ich habe folgende Fragen:
1. Ist das obige Phänomen normal? Oder stimmt etwas mit meiner Konfiguration nicht? 2. Wenn das obige Phänomen normal ist, gibt es eine Möglichkeit, die Warteschlangenüberwachung daran zu hindern, anzuhalten und sie immer dann auszuführen, wenn neue Aufgaben anstehen?
3. Das vorherige Debuggen war auf ein Programmproblem zurückzuführen, das dazu führte, dass die Ausführung der Warteschlangenaufgabe nach 255 Versuchen (Feld „Versuche“) fehlschlug und nach dem Stoppen nicht in die Liste der fehlgeschlagenen Aufgaben aufgenommen wurde. Kann diese Anzahl an Versuchen konfiguriert werden? Wie kann ich nach Erreichen dieser Anzahl an Versuchen in die Liste der fehlgeschlagenen Aufgaben eintreten?
参考官方文档:https://docs.golaravel.com/do...