Python 使用flask启动后台进程,然后检测它何时停止
我有一个flask服务器,我正试图在后台运行一个脚本,以便在raspberry pi上启用配对过程。我有一个按钮来启用和禁用这项工作的罚款 我使用Python 使用flask启动后台进程,然后检测它何时停止,python,flask,subprocess,Python,Flask,Subprocess,我有一个flask服务器,我正试图在后台运行一个脚本,以便在raspberry pi上启用配对过程。我有一个按钮来启用和禁用这项工作的罚款 我使用process=subprocess.Popen([“python3”,“bt.py”])运行进程,然后在需要停止它时使用process.kill() 但是一旦任务停止,我需要用新的设备信息更新页面,但是我无法通过flask检测配对脚本何时停止。我知道我可以运行process.poll()来检查子流程是否仍在运行,但我想不出任何方法来将其实现到flas
process=subprocess.Popen([“python3”,“bt.py”])
运行进程,然后在需要停止它时使用process.kill()
但是一旦任务停止,我需要用新的设备信息更新页面,但是我无法通过flask检测配对脚本何时停止。我知道我可以运行process.poll()
来检查子流程是否仍在运行,但我想不出任何方法来将其实现到flask中,因为它需要在循环中运行,这将阻止客户端接收页面
我认为唯一可行的方法是从bt.py
脚本编辑一个文件,让我的flask应用程序的JS部分检测文件中的更改并导致重定向。然而,这看起来很笨拙,感觉像是糟糕的练习。任何建议都很好听起来您可能需要的是一个任务队列。这里的一些选项是芹菜、RabbitMQ或Redis。这是你可以用来开始的。这能回答你的问题吗?我将查看任务队列。另外,这篇文章没有回答我的问题,因为它不需要脚本持续运行。我试图运行的脚本需要在while循环中运行大约30秒