启动子线程时烧瓶抛出“在请求上下文之外工作”

启动子线程时烧瓶抛出“在请求上下文之外工作”,第1张

启动子线程时烧瓶抛出“在请求上下文之外工作”

将您的线程代码包装在中,

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在子线程中获取一个(不同的)用户对象。



欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5431216.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-11
下一篇 2022-12-11

发表评论

登录后才能评论

评论列表(0条)

保存