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

Другие вопросы по тегам