Laravel管理在线用户列表

詹姆士

我想为每个帐户保留一个“在线”用户列表。

我每隔五秒钟在应用程序中对服务器进行一次轮询,告诉服务器“嘿,此用户当前在线”

然后,我更新所有其他已连接的用户界面,以显示“此用户在线”。

我现在要处理的问题是,一旦服务器没有收到x秒钟的“嘿我在线”通知,我想继续并将它们标记为“脱机”。

我使用的是laravel,并认为事件可能会起作用,也许事件会休眠10秒钟,然后检查用户上次“签入”的时间戳是否大于10秒。但这引发了laravel事件排队的问题?我知道您可以将它们排队,这意味着常规事件只会在同一服务器请求上运行,而无法按预期工作。

如果我对它们进行Q,只有一个侦听器,这是否会使所有“等待”线程试图重置一个微不足道的“在线”布尔值使q变得拥挤?也许有多个听众?

什么是/什么没有发生,让服务器重置DB值x秒数的最简单方法是什么?

Gaz_Edge

Php是同步的,因此任何涉及运行时队列的事情都会让您非常头疼。

我知道laravel 5有一些队列系统(我自己没有使用过),但是您需要创建一些会消耗该队列的东西。

最好的选择是重新阅读laravel中的队列文档,并查看cron作业。

这些是自动任务,您可以将其设置为以设置的间隔运行。然后,他们可以处理任何持久队列并更新您的数据库。

更新:

为什么要保存布尔值?您只需last_seen在数据库中保存一个时间戳即可然后,您无需检查布尔值以查看用户是否在线,而只需将last_seen时间戳与当前时间戳进行比较即可如果大于x秒,则假定用户处于脱机状态。使用laravel,您甚至可以将此逻辑添加到数据库表的雄辩模型中。这意味着不必在需要的地方重复逻辑。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在laravel中获取在线用户

来自分类Dev

如何创建在线/活动用户列表?

来自分类Dev

域网络C#中的在线AD用户列表

来自分类Dev

Rails Devise,使用Onliner gem作为在线用户列表

来自分类Dev

获取在线用户列表 PubNub 始终为零目标 C

来自分类Dev

PHP>从在线用户(在线用户)读取cookie

来自分类Dev

使用Jquery卸载功能从在线用户列表中删除用户

来自分类Dev

我如何在 Laravel 中为 spatie 包(ACL 管理)分配用户列表权限给其他角色?

来自分类Dev

整合wordpress和laravel用户管理

来自分类Dev

管理员和用户的Laravel路由

来自分类Dev

在不使用 websockets 的情况下管理服务器上的在线用户

来自分类Dev

用户在线PHP

来自分类Dev

论坛当前在线用户

来自分类Dev

在线列出用户

来自分类Dev

Opentok | 获取在线用户

来自分类Dev

如何通过使用Android中的smack API获取聊天中的离线/在线用户列表

来自分类Dev

BreezeJS离线/在线管理

来自分类Dev

BreezeJS离线/在线管理

来自分类Dev

Visual Studio在线权限管理

来自分类Dev

如何扩展管理员用户列表页面?

来自分类Dev

管理控制台:为我的应用生成用户列表?

来自分类Dev

如何使用MVVM管理列表框中的用户控件?

来自分类Dev

Laravel表关系获取用户列表

来自分类Dev

如何找到活跃用户Laravel MySQL的列表?

来自分类Dev

Laravel:Web Api,如何确定用户(应用程序)是否在线?

来自分类Dev

Laravel在线状态

来自分类Dev

使用Redis跟踪在线用户

来自分类Dev

PHP检查用户是否在线

来自分类Dev

如何计算在线用户?