为什么我的 Laravel-echo-server 接收广播频道的时候,要开启队列监听?

我现在做广播系统测试需要两个终端,一个呢开启laravel-echo-server
laravel-echo-server start
然后还要另外一个终端,开启队列监听,
php artisan queue:listen
如果不开启队列监听,那那个laravel-echo-server就不能收到channel信号,类似下面的
Channel: BlogView
Event: App\Events\BlogView
是lavavel-echo-server要依靠queue:listen吗,还是要另外设置下?

《L01 基础入门》
我们将带你从零开发一个项目并部署到线上,本课程教授 Web 开发中专业、实用的技能,如 Git 工作流、Laravel Mix 前端工作流等。
《L02 从零构建论坛系统》
以构建论坛项目 LaraBBS 为线索,展开对 Laravel 框架的全面学习。应用程序架构思路贴近 Laravel 框架的设计哲学。
讨论数量: 2
likunyan

你也可以用 sync 同步模式,就不需要开启队列了。

2个月前 评论
donggan (楼主) 2个月前
donggan (楼主) 2个月前
leochien

文件中有寫到必須要開啟隊列才能使用廣播

在开始广播事件之前,你还需要配置和运行 队列监听器 。所有的事件广播都是通过队列任务来完成的,因此应用程序的响应时间不会受到明显影响。

解決方式可以像 likunyan 所述,在 .env 中將 QUEUE_CONNECTION 改為 sync,即可開啟同步模式
另外如何在後台運行 laravel-echo-server,可以使用 supervisor,參考 這裡,配置如下:

[program:echo-server]
directory=/home/vagrant/path/to/your/project
command=/usr/bin/laravel-echo-server start
autostart=true
autorestart=true
user=vagrant
redirect_stderr=true
stdout_logfile=/home/vagrant/path/to/your/project/storage/logs/echoserver.log
2个月前 评论
donggan (楼主) 2个月前

请勿发布不友善或者负能量的内容。与人为善,比聪明更重要!