当子流程退出时,退出主流程(供应烧瓶)



我有一个为Flask应用程序服务的主进程和一个用多进程创建的具有并发任务的子进程。当子进程终止时,我希望主进程也终止,但这并没有发生,因为由于烧瓶服务,主进程从未到达联接语句。在这个例子中,我也使用了socketio,但它基本上和flask相同。

这只是代码的简化版本:

def listener(video_trigger, sensor_lock):
try:     
# connecting to hardware
except Exception as e:  
print(f"Hardware not connected: {str(e)}")
sys.exit()
while True:
# read out hardware

if __name__ == "__main__":
p = Process(target=listener, args=())
p.start() 
socketio.run(app, host='0.0.0.0', port=81)
p.join()

您需要将两者作为进程运行,包括Flask应用程序。

当侦听通过修改全局值而终止时,终止Flask进程。

最新更新