我在Eloquent事件监听器中使用Pusher进行事件广播时遇到问题。我的事件被解雇并完美地从Laravel控制器发出。但是,当我从我的Eloquent事件监听器中触发广播时,似乎广播实际上并没有达到推动力。
boot
的{{1}}方法包含:
app/Providers/AppServiceProvider.php
当在控制器中放置相同的代码时,订阅该事件的js文件在监听事件时没有问题。
另请注意,MyModel::saving(function($record){
doSomeStuf();
// trigger event
$pusher = \App::make('pusher');
$channel = $record->username;
$pusher->trigger($channel, 'status-changed', $record);
doSomeOtherStuf();
return true;
});
和doSomeStuf()
执行得非常好,不会抛出任何异常。
答案 0 :(得分:2)
原来是日期同步问题。
我的本地服务器是Ubuntu机器,而我的实时服务器在CentOS上运行。运行以下命令解决了问题:
Ubuntu的:
sudo ntpdate ntp.ubuntu.com
CentOS的:
sudo ntpdate pool.ntp.org