我正在运行一个烧瓶服务器,并希望在启动时为每个线程初始化一个复杂的对象。初始化很慢但只需要完成一次。初始化后,速度不是问题。对象上的操作不是线程安全的,但它们的内容在请求之间不会改变。
如何用烧瓶做这样的事情?如何基于每个线程(而不是基于每个请求)执行初始化任务?
答案 0 :(得分:1)
您可以将对象存储在内存中。 Flask app适合您要存储的此类对象。
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)