我有一个Laravel 5.1事件,我会在存储聊天时触发。但它正在向Pusher创建多个广播
<?php namespace App\Events;
use App\Events\Event;
use Illuminate\Contracts\Broadcasting\ShouldBroadcast;
use Illuminate\Queue\SerializesModels;
class ChatSent extends Event implements ShouldBroadcast
{
use SerializesModels;
public $channel;
public $chat;
public function __construct($channel,$chat)
{
$this->channel = $channel;
$this->chat = $chat;
}
public function broadcastOn()
{
return ['private-'.$this->channel];
}
}
我正在使用Supervisor(supervisord)和多个工作人员......不确定这是否有所作为......这是laravel.conf:
[program:laravel-worker]
process_name=%(program_name)s_%(process_num)02d
command=php /var/www/app/artisan queue:work database --sleep=3 --tries=3 --daemon
autostart=true
autorestart=true
user=ubuntu
numprocs=8
redirect_stderr=true
stdout_logfile=/var/www/app/worker.log
知道为什么会这样吗?
答案 0 :(得分:0)
我认为问题不在于后端,也不在于显示消息,而在于广播,因为在我的情况下,我能够存储一次消息,并且显示的内容与从广播中获得的内容相同。
所以可能是 pusher/websocket 包的问题。
我使用使用 pusher API 的 websocket-laravel。