我正在用Flask和Flask-Login开发一个小型网站。我需要一个管理员视图来监视所有用户的在线状态。我在用户数据库集合中添加了一个is-online
列,并尝试对其进行更新。但是我没有找到任何用于处理会话过期的回调。如何解决它或任何更好的主意?
谢谢!
答案 0 :(得分:1)
仅供参考,Redis计算在线用户| Flask(Python微框架)-http://flask.pocoo.org/snippets/71/。
答案 1 :(得分:0)
您可以检查用户的上次活动时间是否大于(大于)会话生存时间。
如果是这样,您将继续更新其is_online状态。 我在应用程序中处理问题的方式是,由于我在db中为每个用户提供了一个last_activity字段,因此可以记录他们完成工作的时间,因此我可以检查该值与会话生存时间之间的关系。
答案 2 :(得分:0)
一种非常粗糙的方法是创建一个单独的堆栈,该堆栈在用户登录时进行推送和弹出操作。假设数据库上的会话ID和用户ID没有绑在一起(即,您有单独的会话ID和用户ID),可以在创建和销毁会话时维护各种分类帐并进行推送和弹出。
您将必须特别强调在多个设备上运行多个会话的用户...这就是为什么我要警告说这是一种相当粗糙的方法。