【问题标题】:Find how many connections from a particular user to ActionCable channel there currently are查找当前有多少从特定用户到 ActionCable 频道的连接
【发布时间】:2017-01-17 02:13:34
【问题描述】:

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

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

【问题讨论】:

标签: ruby-on-rails-5 actioncable


【解决方案1】:

我会尝试:

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

假设你正在使用

identified_by :current_user 在您的Connection 中。

Source

希望这会有所帮助。

【讨论】:

  • 显示用户与所有频道的连接数,而不是特定频道。
  • 不再工作:NoMethodError: undefined method `count' for #<:remoteconnections::remoteconnection:0x005613051a4f50>
猜你喜欢
  • 2017-12-12
  • 2013-04-28
  • 1970-01-01
  • 2020-12-30
  • 1970-01-01
  • 2023-03-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多