Web应用程序:在请求之间保持大型对象
1 个回答
7
我建议你写一个小的Flask应用程序(或者直接用WSGI也行,不过用Flask会简单一些,因为这样更容易快速启动)。这个应用程序可以加载基因组数据库,然后提供一个简单的接口。可以像这样:
app = Flask(__name__)
database = load_database()
@app.route('/get_genomes')
def get_genomes():
return database.all_genomes()
app.run(debug=True)
或者,你也可以做一些更合理的设计。
另外,如果你需要同时处理多个请求(我记得app.run
一次只能处理一个请求),可以先尝试使用线程……如果这样还是太慢,你可以在加载完数据库后用os.fork()
来创建多个请求处理程序(这样它们就可以共享同一个内存中的数据库)。