是否可以克隆flask.request
对象以便以后使用它?我想将克隆的请求发送到另一个线程以重复相同的工作。如何将克隆的对象放在请求堆栈的顶部?
答案 0 :(得分:2)
就像复制environ对象一样简单。它有一个copy()方法,可以解决这个问题:
environ = flask.request.environ.copy()
现在您可以使用app.request_context将新的上下文(使用克隆的环境)推送到烧瓶上下文堆栈:
with app.request_context(environ):
...
答案 1 :(得分:0)
如果您想在处理请求时将对象传递给线程,我认为传递实际的请求对象可能比flask.request proxy object更为容易(也是更好的选择)。
request._get_current_object()
此调用返回的对象可以跨线程访问。