在flask服务器的不同线程上初始化对象

时间:2015-02-01 20:52:48

标签: python flask

我正在运行一个烧瓶服务器,并希望在启动时为每个线程初始化一个复杂的对象。初始化很慢但只需要完成一次。初始化后,速度不是问题。对象上的操作不是线程安全的,但它们的内容在请求之间不会改变。

如何用烧瓶做这样的事情?如何基于每个线程(而不是基于每个请求)执行初始化任务?

1 个答案:

答案 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)