我正在使用Flask编写一个应用程序,该应用程序监视文件系统的更新并记录它们。我的启动序列(处于调试模式)是:
在调试模式下运行时,应用程序将使用werkzeug的fsevents重新加载程序自动重新启动,这是正常的;但是,重新启动不会终止第一个看门狗线程,因此此时有第二个看门狗线程,导致每个文件系统事件都被复制。
这在生产中没有发生,但是它影响了我的调试,让我担心我在启动看门狗时做错了什么。我应该做些什么才能让看门狗干净地退出,或者有什么办法阻止它再次启动?
此外,当应用程序由于代码编辑而重新启动时,第二个看门狗线程确实正确地重新启动;只有第一个看门狗在初始重新加载之前启动,而在重新加载时没有关闭。
发布于 2018-05-24 23:27:09
与在应用程序启动之前启动后台线程不同,使用app.before_first_request启动线程更干净、更安全。这样做的缺点是,在第一个请求传入之前,后台线程不会启动。
https://stackoverflow.com/questions/50362847
复制相似问题