我有一个 HTML 页面,其中有四个按钮 Start、Stop、Pause 和 Resume。按钮的功能是:
- 启动按钮:启动后端模拟器。(模拟器执行大约需要 3 分钟。)
- 停止按钮:停止模拟器。
- 暂停按钮:暂停模拟器。
- 恢复按钮:从暂停的阶段恢复模拟器。
单击时,每个按钮都会继续调用单独的视图函数。我面临的问题是,当我单击开始按钮时,它会通过 Python 视图中的函数调用启动模拟器。但正如我提到的,模拟器完成它的执行大约需要 3 分钟。因此,在 3 分钟内,我的 UI 完全没有响应。在呈现 Django 的当前视图之前,我无法按停止、暂停或恢复按钮。
那么解决这个问题的最佳方法是什么?我应该为模拟器生成一个非阻塞进程吗?如果是这样,在视图呈现后我如何才能知道新生成的进程已经完成了它的执行。