gpt4 book ai didi

python - 在崩溃期间阻止 python 的 atexit?

转载 作者:行者123 更新时间:2023-11-28 21:22:30 24 4
gpt4 key购买 nike

我有一个我编写的 python 脚本,它使用 atexit.register() 来运行一个函数,以便在程序退出时保留字典列表。但是,当脚本因崩溃或运行时错误而退出时,此代码也会运行。通常,这会导致数据损坏。

程序异常退出时有什么办法可以阻止它运行吗?

编辑:澄清一下,这涉及一个使用 flask 的程序,我正试图阻止数据持久性代码在因引发错误而导致的退出上运行。

最佳答案

你不想在 Flask 中使用 atexit。你想使用 Flask signals.听起来您是在专门寻找 request_finished 信号。

from flask import request_finished
def request_finished_handler(sender, response, **extra):
sender.logger.debug('Request context is about to close down. '
'Response: %s', response)
# do some fancy storage stuff.

request_finished.connect(request_finished_handler, app)

request_finished 的好处是它只在成功响应后触发。这意味着只要另一个信号没有错误,你就应该没问题。

关于python - 在崩溃期间阻止 python 的 atexit?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19017371/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com