8

我是使用 Python 进行 Web 开发的新手,我选择了 Flask 来启动我的 Web 应用程序。在应用程序关闭之前,我有一些资源可以释放,但我找不到将我的清理代码放在哪里。Flask 提供了一些装饰器,例如before_requestteardown_request在请求处理之前和之后注册回调。是否有类似于在应用程序停止之前注册要调用的回调的东西?谢谢。

4

1 回答 1

3

atexit模块允许您注册程序终止回调。但是,如果应用程序被信号终止,则不会调用其回调。如果您需要处理这些情况,您可以使用signal模块注册相同的回调(例如,您可能想要处理 SIGTERM 信号)。

我可能误解了你到底想清理什么,但是文件句柄或数据库连接等资源将在解释器关闭时关闭,所以你不必担心这些。

于 2012-05-29T11:22:47.133 回答