gpt4 book ai didi

python - 阻止 Flask 初始化阻塞

转载 作者:太空宇宙 更新时间:2023-11-04 00:56:12 24 4
gpt4 key购买 nike

我正在为基于插件的应用程序添加 Flask 支持。在启动时,该应用程序会实例化许多插件类。我认为这就像在类初始化时启动 Flask 一样简单,但相反,当它遇到 Flask 启动方法时,整个应用程序挂起。

考虑以下示例:

#!/usr/bin/env python

from flask import Flask

class TestClass:
def __init__(self):
print('Initializing an instance of TestClass')
self.app = Flask(__name__)
self.app.run()
print("Won't get here until Flask terminates!")


foo = TestClass()

在 Flask 终止之前不会计算第二行打印。

有没有一种明智的方法可以强制 app.run 进入后台,以便类继续其初始化步骤,同时仍然能够在我的类的其余部分与 Flask 进行通信?

最佳答案

应用程序没有“挂起”,app.run 的目的是启动一个持续运行的服务器进程,直到明确关闭。您应该在启动服务器之前运行所有设置逻辑。

如果您需要在应用程序服务器进程初始化后运行任务,您可以使用类似 Celery 的方式将它们分派(dispatch)到另一个进程中.

关于python - 阻止 Flask 初始化阻塞,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34981896/

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