2017-01-23 12 views
0

Возможно ли, чтобы одно приложение Laravel прослушивало события, инициированные в другом?Обмен событиями между двумя приложениями Laravel

Я создал API REST для дополнения существующего веб-приложения. Он использует одну и ту же базу данных, но я создал ее как отдельное приложение, и есть определенные события, которые очищают некоторые кешированные результаты. В настоящий момент события не разделяются между двумя приложениями, поэтому я получаю кешированные результаты, несмотря на обновление базы данных. Есть ли способ, чтобы одно приложение заходило на события, выпущенные другим? Я ничего не нашел в документах.

ответ

1

Redis полностью агностик о том, что приложение слушает его. Вы можете установить broadcast driver на redis и вызывать события в одном приложении во время прослушивания на другом, если они оба используют один и тот же экземпляр Redis. Другой может слушать эти события. Однако следует отметить, что способ, которым Laravel обрабатывает слушателей, - это привязка к определенному классу. Поэтому вам все равно придется убедиться, что класс существует, поэтому вы можете определить для него слушателя.

+0

У меня было ощущение, что это может быть так - к сожалению, унаследованное приложение, с которым мой API интегрируется, использует Pusher, а не Redis, и нет никаких возможностей для его изменения. Я думаю, что мне, вероятно, придётся прибегнуть к созданию webhook, который запускает API. Независимо от того, спасибо за ваш ответ. –