django - 使用 Django 建立有状态连接

标签 django

我正在尝试以下列方式使用 Django。

我有一个在后端运行的命令行实用程序,我们称它为 foo

我希望 foo 在至少一个人在 django 页面 foo.com/kungfoo 上时运行。

当他们离开网页时,我还需要终止脚本。这可以通过 Javascript 实现。

但是,如何确定是否有多个人同时查看该页面。理想情况下,如果页面上有其他人,我不希望 foo 被杀死。


我能想到的唯一方法是让 Javascript 每隔一分钟左右向 Django 推送一个 I'm still here 状态。然后每分钟通过 celery 运行一个 Python 脚本,并检查 Django 是否有一个 I'm still here。如果 foo 正在运行,则终止 foo

有更好的方法吗?


我知道这个问题很宽泛,所以我会更具体一些。 Django 有没有办法计算浏览网页的人数并在该人数为 0 时运行脚本。

最佳答案

你可以使用 django-channelsReconnectingWebSocket ,这样您就可以知道用户何时离开页面,或者 - 对您的情况更有帮助 - 当页面上没有用户时。

关于django - 使用 Django 建立有状态连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42148847/

相关文章:

html - 如何在 Django 的 EmailField() 中添加初始默认值

python - “PlayerStatsForm”对象没有属性 'username'

python - Django:如何限制从模型返回的对象数量

python - DRF - 如何使用 Oauth Toolkit 验证应用程序?

python - django.db.migrations.exceptions.CircularDependencyError

python - 将日期时间从 Objective C 传递到 Django

django - 如何为 django admin 安装 xadmin

Django仅在 View 成功完成后才保存

python - 模型表单无法使用 OneToOneField(User) 进行验证

python - PIP无法在VIrtualenv中安装Django