将您的线程代码包装在中,
test_request_context这样您就可以访问本地上下文:
@app.route('/my_endpoint', methods=['POST'])def my_endpoint_handler(): #do tracking in sub-thread so we don't hold up the page def handle_sub_view(req): with app.test_request_context(): from flask import request request = req # Do Expensive work thread.start_new_thread(handle_sub_view, (request)) return "Thanks"
编辑
:值得指出的是,该线程将具有与原始请求不同的上下文。在生成线程之前,您需要提取任何有趣的请求数据,例如用户ID。然后,您可以使用ID在子线程中获取一个(不同的)用户对象。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)