查找当前有特定用户到ActionCable通道的连接数

时间:2017-01-17 02:13:35

标签: ruby-on-rails-5 actioncable

我需要跟踪用户与ActionCable频道的连接数量,以便我知道他打开了两个或三个浏览器标签,或者根本没有。这对于了解特定用户是离线还是在线是必要的。有没有办法计算从特定用户到特定频道的连接数?

我实际上已经实现了一个自定义解决方案,我基本上在Redis中有一个计数器,我会在每次连接/断开时递增/递减。然而,由于缺少ActionCable的单元测试机制,它现在仍然相当错误并且很难调试它。所以,我想知道是否有一个"本地人"计算用户连接的可靠方法。

1 个答案:

答案 0 :(得分:0)

我会尝试:

ActionCable.server.remote_connections.where(current_user: User.find(1)).count

假设您正在使用

identified_by :current_user中的

Connection

Source

希望这有帮助。