2016-08-01 89 views
1

我遇到的問題是使用Pusher從一個Eloquent事件監聽器中進行事件廣播。我的活動正在被解僱並完美地從Laravel控制器發出。但是,當我從我的Eloquent事件監聽器中觸發它們時,似乎廣播實際上並沒有達到推動者的程度。Laravel:推送事件不會從內部通知的事件監聽器中廣播

app/Providers/AppServiceProvider.phpboot方法包括:在相同的代碼放在一個控制器

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

日期或服務器和本地機器的其他信息可能不同步。你需要看看這個。 http://www.ntp.org/ –

回答

2

原來是日期同步問題。

我的本地服務器是Ubuntu機器,而我的活服務器在CentOS上運行。運行以下命令解決了這個問題:

Ubuntu的:

sudo ntpdate ntp.ubuntu.com

的CentOS:

sudo ntpdate pool.ntp.org