gpt4 book ai didi

ruby-on-rails - 如何在 Rails 和 actioncable 中为网页实现 "watching now"功能

转载 作者:可可西里 更新时间:2023-11-01 11:30:36 26 4
gpt4 key购买 nike

假设对于一个聊天室,我想向用户显示此时有多少用户在线(基本上是有多少人正在观看)。

我想到的是为每个 actioncable channel 使用一些 redis 计数器,当客户端连接到 channel 或断开连接时递增和递减此计数器,然后我们开始了,但是这种方法的问题是如果某些客户端打开一个网页,然后计数器会增加,如果服务器关闭了一段时间,客户端关闭了网页,那么断开连接的事件将不会被监听,所以计数器不会减少并且它的值永远是错误的。

我认为如果我可以在服务器关闭时捕获事件以便将所有此类 redis 计数器设置为零,则可以增强此方法,但不确定如何捕获此类事件(我将 nginx 与 passenger 一起使用)。那么有什么帮助吗?

最佳答案

知道服务器何时关闭并不容易,但知道服务器何时启动总是很容易的。为什么不在启动服务器时重置这些计数器?在服务器的启动脚本中添加重置操作。

关于ruby-on-rails - 如何在 Rails 和 actioncable 中为网页实现 "watching now"功能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40650430/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com