Laravel:Pusher 事件不从 eloquent 的事件侦听器中广播
Laravel: Pusher events do not broadcast from within eloquent's event listener
我在 Eloquent 事件侦听器中使用 Pusher 进行事件广播时遇到问题。我的事件被触发并从 Laravel 控制器完美发送出去。但是,当我从我的 Eloquent 事件侦听器中触发广播时,它们似乎并没有真正到达推送器。
我的app/Providers/AppServiceProvider.php
的boot
方法包含:
MyModel::saving(function($record){
doSomeStuf();
// trigger event
$pusher = \App::make('pusher');
$channel = $record->username;
$pusher->trigger($channel, 'status-changed', $record);
doSomeOtherStuf();
return true;
});
同样的代码放在controller中时,订阅事件的js文件监听事件没有问题
另请注意,doSomeStuf()
和 doSomeOtherStuf()
执行得很好,没有抛出异常。
原来是日期同步问题。
我的本地服务器是一台 Ubuntu 机器,而我的实时服务器是 运行 CentOS 机器。 运行 以下命令解决了问题:
Ubuntu:
sudo ntpdate ntp.ubuntu.com
CentOS:
sudo ntpdate pool.ntp.org
我在 Eloquent 事件侦听器中使用 Pusher 进行事件广播时遇到问题。我的事件被触发并从 Laravel 控制器完美发送出去。但是,当我从我的 Eloquent 事件侦听器中触发广播时,它们似乎并没有真正到达推送器。
我的app/Providers/AppServiceProvider.php
的boot
方法包含:
MyModel::saving(function($record){
doSomeStuf();
// trigger event
$pusher = \App::make('pusher');
$channel = $record->username;
$pusher->trigger($channel, 'status-changed', $record);
doSomeOtherStuf();
return true;
});
同样的代码放在controller中时,订阅事件的js文件监听事件没有问题
另请注意,doSomeStuf()
和 doSomeOtherStuf()
执行得很好,没有抛出异常。
原来是日期同步问题。
我的本地服务器是一台 Ubuntu 机器,而我的实时服务器是 运行 CentOS 机器。 运行 以下命令解决了问题:
Ubuntu:
sudo ntpdate ntp.ubuntu.com
CentOS:
sudo ntpdate pool.ntp.org