我们正在为我们的应用程序部署使用python多线程(I / O绑定)。从主/父线程我们创建多个子线程(多个主机[application / web]在每个线程内部署)并等待它们在主线程中使用.join()完成。我们还使用一些Fabric包命令询问用户输入是否继续部署,以防出现任何错误。
问题陈述: 由于我们使用多线程,所有子线程都将消息写入终端(stdout)输出,因此屏幕上一个线程的错误与其他线程消息重叠,很难通过控制台/终端梳理看看是什么线程有失败。
从所有线程集中收集部署中的所有失败步骤并在控制台/终端输出上一次显示所有失败步骤的最佳方法是什么?
我面临的困难是如何与子线程交互,而在主线程中我们只是等待完成它们(如果有任何结构用户交互式问题,那么将根据我们关于失败的决定键入y / n)