2016 - 2024

感恩一路有你

flask上下文管理流程 Flask怎么实现异步任务处理方式呢?

浏览量:1755 时间:2021-03-12 21:00:01 作者:admin

Flask怎么实现异步任务处理方式呢?

有时HTTP请求的处理时间太长,部分代码不需要同步执行。我们可以使用下面的函数来抛出任务以异步执行,接口将立即返回。

此函数的具体执行过程如下:

调用时复制当前请求上下文(request)

原始请求将立即继续执行

执行func时,将推送复制的请求。从此以后,它可以被视为一个新任务

需要注意的是,由于复制的请求被推入,所以“before”请求信号不会被触发。但在那之后,在“请求”和“撕裂”之后,会有更多的请求。而且,因为只复制了请求,所以不会复制其他上下文变量,例如﹣g。

朗:蟒蛇

import gevent

from flask import copy current request context

def i have a Dream(func,*args,**kwargs):

“”“

异步任务处理。此函数立即返回,并使用gevent的新线程执行func函数(使用请求上下文)。

“”“

返回gevent.spawn文件(复制当前请求上下文(func),*args,**kwargs)

flask上下文管理流程 flask防止大量请求攻击 python上下文管理器

版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。