我正在我的应用程序中创建一个实时通知功能,该功能将使用Pusher在收到通知时自动通知用户(通过用户所遵循的某些操作创建通知).
我知道如何设置事件并进行广播,但我对于广播这些通知的频道感到困惑.情况将是用户A跟随许多其他用户,但也有许多粉丝本人.
如果用户A发布新内容,我们可以触发一个事件,向他刚发布内容的所有关注者广播通知.这里的问题是,我们在"user.A"上播放这个频道吗?这意味着跟随用户A的每个其他用户将不得不一直订阅该频道以及他们关注的每个其他用户的频道.
那么,更有效的是,可以在数百个不同的频道(每个频道代表一个用户A的关注者)之间动态广播,或者每个用户应该自动收听可能数百个不同用户的频道?
不确定哪个更有效率.谢谢!
我有一个项目,需要通过WebSockets连续发送通知。它应该连接到以字符串格式返回总体状态的设备。系统对其进行处理,然后根据各种条件发送通知。
由于调度程序可以在一分钟内重复执行任务,因此我需要找到一种每秒执行一次功能的方法。
这是我的app/Console/Kernel.php:
<?php
...
class Kernel extends ConsoleKernel
{
...
protected function schedule(Schedule $schedule)
{
$schedule->call(function(){
// connect to the device and process its response
})->everyMinute();
}
}
Run Code Online (Sandbox Code Playgroud)
PS:如果您有更好的想法来应对这种情况,请分享您的想法。
这是我的auth.php:
'guards' => [
'web' => [
'driver' => 'session',
'provider' => 'users',
],
'admin' => [
'driver' => 'session',
'provider' => 'admins',
],
],
Run Code Online (Sandbox Code Playgroud)
现在,如果 auser和 anadmin都在同一个浏览器中登录,我如何检查哪个守卫发出了请求?
请注意,无论是谁提出请求,都返回Auth::guard('admin')->check()和。Auth::check()true