第一次接触到Python和Gunicorn Flask并不是很清楚这玩意儿中是否存在类似PHP一样的 header("Connection: close");
可以实现异步任务。由于业务需求在每次请求之后都需要进行一下文件数据的清理工作,默认情况下是在请求的Response返回之前完成,这就会导致响应请求时间增加,用户体验不友好,查阅一番之后,可以通过 ThreadPool 的异步任务来实现。
实现代码
from multiprocessing.pool import ThreadPool
def async_clear:
#########
###清理工作的操作函数
#########
#创建一个容纳一个线程的线程池
async_pool = ThreadPool(processes=1)
#async异步操作
async_pool.apply_async(async_clear)
转载请注明:悠然品鉴 » Gunicorn Flask异步任务