2017-02-09 6 views
2

Djangoを次のように使用しようとしています。Djangoを使用してステートフルな接続を作成する

私は、バックエンドで実行されるコマンドラインユーティリティを持っています。それをfooと呼ぶことができます。

少なくとも1人がdjangoページfoo.com/kungfooにいるときに、fooを実行します。

また、ウェブページを離れるときにスクリプトを強制終了する必要があります。 Javascriptで可能です。

ただし、複数のユーザーが同時にページを表示しているかどうかを確認するにはどうすればよいですか。理想的には、別の人がページにいる場合、fooを殺すことは望ましくありません。私はこれを行うと考えることができ


唯一の方法は、Javascriptがジャンゴに毎分かそこらをI'm still here状態をプッシュすることです。その後毎分セロリでPythonスクリプトを実行し、DjangoにI'm still hereがあるかどうかを確認します。 fooが実行されている場合は、fooを削除してください。

これを行うより良い方法はありますか?


私はこの質問が広範であることを知っていますので、少し具体的にします。 DjangoがWebページを閲覧している人の数を数え、その番号が0であればスクリプトを実行する方法はありますか?

答えて

1

django-channelsにはReconnectingWebSocketを使用できます。 - あなたのケースでもっと役立つ - ユーザーがページにいないとき。

+0

ええ、私はそれを行う方法だったと思った。しかし、チャンネルに付属している処理の不足を避けようとしています。セロリの鼓動とDjangoの組み合わせもまた、 – cjds

関連する問題