Flask的`init_app`的反义词是什么? (Flask app拆解)

时间:2016-06-06 10:46:34

标签: python flask

我正在构建一个Flask扩展,需要在调用init_app - 方法时创建一个临时文件夹。我打算使用Python的内置tempfile.mkdtemp() - 但是,当Flask应用程序停止/拆除时,我需要删除临时目录。

这样做的正确方法是什么?
我认为应该有某种init_app - 方法的反转。

1 个答案:

答案 0 :(得分:0)

没有拆解;通常Flask服务器应该“永远”运行。

将其留给操作系统删除临时目录或注册atexit handler以清除任何此类目录。

请注意,这取决于您的WSGI服务器分支模型的安全性。一些服务器在加载Python模块后分叉子进程,因此任何全局变量都在这些进程之间共享。如果您在全局级别创建了临时目录(而不是在Flask before_first_request挂钩中),那么您最终可能会遇到所有共享同一临时目录的子进程,但每个被收获的子进程都会触发atexit处理程序。您可能需要针对此案例进行防御性编码。