Warum BroadCastEvent in Laravel in die Warteschlange gestellt? Wie kann man das stoppen?

8

Ich arbeite an dem Projekt, das Breiten- und Längengrad in Echtzeit übertragen soll

Ich habe etwas wie unten

%Vor%

In einigen Fällen muss ich E-Mails in Echtzeit auslösen, also habe ich beschlossen, die Laravel-Nachrichtenwarteschlange wie folgt zu implementieren:

%Vor%

Wenn ich php artisan queue:listen database starte, wird auch mein Sendeereignis in die Warteschlange gestellt. Ich möchte das Broadcast-Event nicht anstellen. Wie geht das?

    
sumit 30.12.2016, 04:43
quelle

3 Antworten

4

Weil Laravel Event Broadcasting standardmäßig in die Warteschlange gestellt wurde, wenn Sie ShouldBroadcast interface erweitern. Wenn Sie nicht möchten, dass Event Broadcasting in die Warteschlange gestellt wird, sollten Sie ShouldBroadcastNow interface erweitern.

%Vor%

Dies bedeutet, dass Ihr Event Broadcasting den Synchronisierungswarteschlangentreiber verwendet.

    
nmfzone 25.04.2017, 06:27
quelle
3

In Laravel ist die gesamte Ereignisübertragung standardmäßig in die Warteschlange gestellt.

  

Vor dem Senden von Ereignissen müssen Sie außerdem einen Warteschlangenlistener konfigurieren und ausführen. Die Übertragung aller Ereignisse erfolgt über Aufträge in der Warteschlange, so dass die Antwortzeit Ihrer Anwendung nicht ernsthaft beeinträchtigt wird.

In deinem Fall brauchst du zwei Warteschlangentreiber. Eine für die Übertragung von Ereignissen mit Echtzeitunterstützung. Eine für die Verarbeitung von E-Mails mit Warteschlangenunterstützung. Dafür benötigen Sie zwei Warteschlangentreiber. Sie können sie in config/queue.php

definieren

Mach das in deiner SendAlertEmail Klasse.

%Vor%

Geben Sie in Ihrer TrackersBroadcast die Echtzeitwarteschlange an. Dies ist Ihr redis Warteschlangentreiber.

%Vor%

Lesen Sie Broadcast-Warteschlange unter Warum ist die Ereignisübertragung in der Warteschlange?

Ich hoffe, Sie finden das nützlich.

    
Gayan 06.01.2017 05:21
quelle
1

Vielleicht können Sie den Warteschlangennamen im Broadcast-Ereignis wie folgt angeben und diese Warteschlange nicht abhören, wenn Sie sie nicht verarbeiten müssen

%Vor%     
vijaykumar 30.12.2016 05:00
quelle