2017-01-23 5 views
0

Ist es möglich, dass eine Laravel-Anwendung auf Ereignisse wartet, die in einem anderen ausgelöst wurden?Freigeben von Ereignissen zwischen zwei Laravel-Anwendungen

Ich habe eine REST-API zur Ergänzung einer bestehenden Webanwendung erstellt. Es verwendet dieselbe Datenbank, aber ich habe es als separate Anwendung erstellt, und es gibt bestimmte Ereignisse, die einige zwischengespeicherte Ergebnisse löschen. Im Moment werden die Ereignisse nicht zwischen den beiden Anwendungen geteilt, so dass ich die gecachten Ergebnisse trotz Aktualisierung der Datenbank erhalte. Gibt es eine Möglichkeit, dass eine App die Ereignisse des anderen aufgreift? Ich habe in den Unterlagen nichts darüber gefunden.

Antwort

1

Redis ist völlig agnostisch über welche Anwendung es hört. Sie können broadcast driver auf redis setzen und Ihre Ereignisse in einer Anwendung aufrufen, während Sie auf der anderen hören, solange beide die gleiche Redis-Instanz verwenden. Der andere kann dann auf diese Ereignisse hören. Beachten Sie jedoch, dass die Art und Weise, wie Laravel die Listener verarbeitet, an eine bestimmte Klasse gebunden ist. Sie müssen also sicherstellen, dass die Klasse existiert, damit Sie einen Listener dafür definieren können.

+0

Ich hatte das Gefühl, dass das der Fall sein könnte - leider ist die alte App, in die meine API integriert ist, Pusher, nicht Redis, und es gibt keinen Spielraum, dies zu ändern. Ich denke, dass ich wahrscheinlich einen Webhook erstellen muss, den die API auslöst. Egal, vielen Dank für Ihre Antwort. –

Verwandte Themen