在两个 Laravel 应用程序之间共享事件

Sharing events between two Laravel applications

是否可以让一个 Laravel 应用程序侦听在另一个应用程序中触发的事件?

我构建了一个 REST API 来补充现有的网络应用程序。它使用相同的数据库,但我将它构建为一个单独的应用程序,并且某些事件会清除一些缓存的结果。目前事件没有在两个应用程序之间共享,所以尽管更新了数据库,我还是得到了缓存的结果。有没有办法让一个应用程序接收另一个应用程序触发的事件?我在文档中没有找到任何关于此的内容。

Redis 完全不知道哪个应用程序正在监听它。您可以将 broadcast driver 设置为 redis 并在一个应用程序中调用您的事件,同时监听另一个应用程序,只要它们都使用相同的 Redis 实例即可。然后另一个可以监听这些事件。但是,值得注意的是 Laravel 处理侦听器的方式是绑定到特定的 class。所以你仍然需要确保 class 存在,这样你就可以为它定义一个监听器。