你们有谁用laravel-echo,但是是多台服务器的

我把执行发送消息的代码
event(new \App\Events\Notification($user, ‘暂时没有符合的订单’));
和处理消息的队列均放在A服务器
php artisan queue:work –queue=echo –tries=1

下面放在B服务器
然后执行laravel-echo-server start放在B服务器

B服务器通过配置
LARAVEL_ECHO_SERVER_REDIS_HOST=A服务IP地址
LARAVEL_ECHO_SERVER_REDIS_PASSWORD=
LARAVEL_ECHO_SERVER_REDIS_PORT=6379
连接到A服务器

结果无法正常通知

《L05 电商实战》
从零开发一个电商项目,功能包括电商后台、商品 & SKU 管理、购物车、订单管理、支付宝支付、微信支付、订单退款流程、优惠券等
《L02 从零构建论坛系统》
以构建论坛项目 LaraBBS 为线索,展开对 Laravel 框架的全面学习。应用程序架构思路贴近 Laravel 框架的设计哲学。
讨论数量: 5

你这描述也太笼统了,也没个代码或 debug 信息。你可以通过 laravel-echo-server 的 debug 模式,在控制台中查看调试信息先自己分析一波。

S1:看看在 B 机器启动的 laravel-echo-server 有没有真的连接上 A 机器的 redis

S2:在 A 机器上,查看 event 事件是否真的被触发,在 redis 的队列中能否找到待执行的 event 任务

S3:前端是否成功订阅了你那个事件中广播的频道

S4:事件中广播的频道是否与前端订阅的频道不符等等…

自己试着先找找原因吧,没法帮你了,记得改代码后重启 laravel-echo-server 和 queue 队列

4年前 评论

我打算开发模式后,发现是Laravels的原因,会导致403 不过我两台服务器的情况,一台可以,一台还是会出现问题,头大,同样一模一样的情况

4年前 评论

⚠ [2:10:57 PM] - h9s4k-SMuQBDodYbAAFe could not be authenticated to private-notification.30485 {"message":"\u9875\u9762\u8fc7\u671f\uff0c\u8bf7\u5237\u65b0\u9875\u9762"} Client can not be authenticated, got HTTP status 422 [2:10:57 PM] - Preparing authentication request to: www.kyp.com

今天才发现有一个开发者模式能看到错误。 laravel-echo-server start运行后 会报这个错误,你们有谁碰到吗,message的内容 提示的是页面过期,请刷新页面,这个是token失效导致的。

会不会是跨域名导致的,我有一个站一个是www一个是m。m这个域名配置到www去认证是可以。但是这个站应该是同时启用两个域名,一直报这个错误

4年前 评论
LiamHao 4年前
深蓝色 (作者) (楼主) 4年前

其它站不会报这个错

4年前 评论

建议排查下laravel-echo-server中的redis配置

3年前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!