Laravel: события Pusher не транслируются из слушателя событий eloquent
У меня проблемы с трансляцией событий с использованием Pusher из слушателя Eloquent. Мое событие запускается и отправляется с контроллера Laravel отлично. Тем не менее, кажется, что трансляции на самом деле не достигают толчка, когда я запускаю их из моего слушателя событий Eloquent.
boot
метод моего app/Providers/AppServiceProvider.php
содержит:
MyModel::saving(function($record){
doSomeStuf();
// trigger event
$pusher = \App::make('pusher');
$channel = $record->username;
$pusher->trigger($channel, 'status-changed', $record);
doSomeOtherStuf();
return true;
});
У файла js, который подписывается на событие, нет проблем с прослушиванием события, когда тот же код помещен в контроллер.
Также обратите внимание, что doSomeStuf()
а также doSomeOtherStuf()
выполнены довольно хорошо, и не исключение не выбрасывается.
1 ответ
Оказалось, проблема с датой синхронизации.
Мой локальный сервер - это машина с Ubuntu, в то время как мой работающий сервер работает на CentOS. Выполнение следующих команд решило проблему:
Ubuntu:
sudo ntpdate ntp.ubuntu.com
CentOS:
sudo ntpdate pool.ntp.org