使用Django建立有状态连接

时间:2017-02-09 23:25:13

标签: django

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

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

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

我还需要在离开网页时终止脚本。哪个可以通过Javascript。

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

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

有更好的方法吗?

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

1 个答案:

答案 0 :(得分:1)

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