首页 > 解决方案 > 用户离线时如何触发广播事件

问题描述

我现在创建了一个控制器和一个端点,用户每隔几秒钟就会调用一次以确保他们在线。每次通话时,我都会保存他们上次访问的时间,如果超过指定时间没有向用户发出请求,则认为该用户离线。我现在正在寻找的是当用户在指定时间之后没有发送任何请求时运行和广播消息的事件。

很明显,当用户离线时,不会调用任何事件,因此什么也不做。

我想到了几种方法来解决这个问题,我最终决定在这里问一个问题。

  1. 使用不同的方法(例如守护程序)每隔几秒调用一次工匠命令。该命令获取超过指定时间未调用在线端点的用户列表。并为每个下线的用户在队列列表中放置一个广播。
  2. 与其连续调用,不如使用常用的端点(如主页)定期调用命令。

有一个更好的方法吗?

标签: phplaraveluser-activity

解决方案


推荐阅读