python - 启动烧瓶应用程序阻塞 Joiner 线程以从队列中获取数据
问题描述
我的要求是在启动烧瓶应用程序之前启动一个长时间运行的恢复过程。
为了处理恢复进程的退出,我创建了一个等待 Process.Join() 的线程。问题是在将进程对象插入队列后,Joiner 线程没有获取进程对象。这似乎是因为烧瓶应用程序。如果我评论烧瓶应用程序启动(app.run),连接线程工作正常。它获取队列中的数据以继续加入。
我只是无法理解问题所在。它是由烧瓶应用程序还是其他原因引起的。任何帮助将不胜感激。
app = Flask(__name__, template_folder='/etc/templates',
static_folder='/etc/static')
def Joiner(jQueue):
while True:
try:
child = jQueue.get()
child.join()
except Exception as error:
logging.info("Error {}".format(str(error)))
if __name__ == '__main__':
joinQueue = Queue()
reader_p = threading.Thread(target=Joiner, args=(joinQueue,))
reader_p.start()
maybe_resume = Process(target=resumeT)
maybe_resume.start()
joinQueue.put(maybe_resume)
app.run(host='0.0.0.0', port=8081, threaded=True)
解决方案
推荐阅读
- java - Inheritance and Try-With-Resources
- c# - 在 C# 中解析西班牙语日期在桌面和服务器上的工作方式不同
- c# - Why is my model and its variables not passing from View to Method inside of my Controller?
- angular - Ionic Cordova iOS 在设备上运行项目,错误:代码签名错误
- dynamic-expresso - 解析表达式中的动态参数
- sh - 每次 cd 在 FreeBSD 上成功更改到 sh 中的另一个目录时,如何使函数运行?
- java - SpringBoot WebService 客户端:MultipartFile 和 String 参数
- javascript - 过滤唯一字段并从对象数组中推入数组
- python - async 和 asyncio 错误 -- TypeError: 'coroutine' object is not callable
- mfc - 从 vb 到 mfc 的 dao 属性