最近遇到一个情景:希望当客户端向浏览器发起一个耗时请求任务时,先返回响应,同时后台进出耗时任务处理
解决:可以临时起一个线程任务,后台运行
代码示例:
from concurrent.futures import ThreadPoolExecutor
def work(param1, param2):
from time import sleep
sleep(2)
print(param1, param2)
return None
def main():
# 返回数据
return_data = {
"data": "data"
}
# 创建线程任务
executor = ThreadPoolExecutor(2)
executor.submit(work, param1, param2)
return return_data