为烧瓶服务器初始化不同线程上的对象
Initialize objects on different threads for flask server
我是 运行 一个烧瓶服务器,想在启动时为每个线程初始化一个复杂的对象。初始化很慢,但只需要进行一次。初始化后,速度不是问题。对对象的操作不是线程安全的,但它们的内容在请求之间不会改变。
如何用烧瓶做这样的事情?如何在每个线程的基础上(而不是每个请求的基础上)执行初始化任务?
您可以将对象存储在内存中。 Flask 应用程序是您要存储此类对象的正确位置。
class FlaskApp(Flask):
def __init__(self, *args, **kwargs):
super(FlaskApp, self).__init__(*args, **kwargs)
self.complex_object = create_my_object()
app = FlaskApp(__name__)
if __name__ == '__main__':
app.run(debug=True)
我是 运行 一个烧瓶服务器,想在启动时为每个线程初始化一个复杂的对象。初始化很慢,但只需要进行一次。初始化后,速度不是问题。对对象的操作不是线程安全的,但它们的内容在请求之间不会改变。
如何用烧瓶做这样的事情?如何在每个线程的基础上(而不是每个请求的基础上)执行初始化任务?
您可以将对象存储在内存中。 Flask 应用程序是您要存储此类对象的正确位置。
class FlaskApp(Flask):
def __init__(self, *args, **kwargs):
super(FlaskApp, self).__init__(*args, **kwargs)
self.complex_object = create_my_object()
app = FlaskApp(__name__)
if __name__ == '__main__':
app.run(debug=True)