[開始]、[停止]、[一時停止]、[再開]の4つのボタンがあるHTMLページがあります。ボタンの機能は次のとおりです。
- スタートボタン:バックエンドシミュレーターを起動します。(シミュレーターの実行には約3分かかります。)
- 停止ボタン:シミュレーターを停止します。
- 一時停止ボタン:シミュレーターを一時停止します。
- 再開ボタン:一時停止した段階からシミュレーターを再開します。
クリックすると、各ボタンは個別のビュー関数を呼び出します。私が直面している問題は、スタートボタンをクリックすると、Pythonビューの関数呼び出しを介してシミュレーターが起動することです。しかし、前述したように、シミュレーターの実行が完了するまでに約3分かかります。したがって、3分間、私のUIは完全に応答しなくなります。Djangoの現在のビューがレンダリングされるまで、[停止]、[一時停止]、または[再開]ボタンを押すことができません。
では、この問題に取り組むための最良の方法は何ですか?シミュレーターの非ブロッキングプロセスを生成しますか?そうであれば、ビューがレンダリングされた後、生成された新しいプロセスが実行を完了したことをどのように知ることができますか?