优雅关闭 Bottle Python 服务器

发布于 2025-01-08 05:52:05 字数 137 浏览 0 评论 0原文

您好,有没有办法优雅地关闭瓶子服务器。在某种程度上,它应该能够在最终停止之前执行几个步骤。这对于线程和数据库状态等的一些清理至关重要,以避免重新启动期间的损坏状态。

我正在使用 mod wsgi apache 模块来运行 Bottle 服务器。

Hi is there a way out to gracefully shutdown the bottle server. In a way it should be able to do few steps before it eventually stops. This is critical for some clean up of threads and db state etc avoiding the corrupt state during the restart.

I am using mod wsgi apache module for running the bottle server.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

故事↓在人 2025-01-15 05:52:05

在 mod_wsgi 中,您可以注册 atexit 回调,它们将在正常进程关闭时被调用。不过你没有太长的时间来做事。如果是嵌入式模式,或者守护进程模式,并且由于 Apache 重启而导致关闭,那么您只有 3 秒的时间,因为之后 Apache 将强制终止进程。如果守护进程模式和触发器是由于触摸 WSGI 脚本文件或者您显式向守护进程进程发送了信号,则您有 5 秒的时间,此时 mod_wsgi 将决定花费的时间太长并强行杀死它们。

请参阅 Python 中的“atexit”模块。

In mod_wsgi you can register atexit callbacks and they will be called on normal process shutdown. You don't have too long to do stuff though. If embedded mode, or daemon mode and shutdown caused by Apache restart, you have only 3 seconds as Apache will kill off processes forcibly after that. If daemon mode and trigger is due to touching WSGI script file or you explicitly sent daemon process a signal, you have 5 seconds, which is when mod_wsgi will decide it is taking too long and forcibly kill them.

See the 'atexit' module in Python.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文