python——使用线程池实现异步返回数据
框架
- flask
应用场景
- 当接收到请求,但数据处理比较耗时,希望请求过来时先返回一个响应,再慢慢处理数据,处理完成后再将结果返回给另一个地址。
- 流程:接收到请求,立即返回响应。再处理数据,处理完成后将结果响应给预先定义的URL。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 | import traceback import requests from concurrent.futures import ThreadPoolExecutor from flask import request, jsonify url = "结果数据要返回的新地址URL" def processing_data(data) print ( "数据处理..." ) result_data = "处理完,要返回的数据" try : requests.post(url, data = result_data, timeout = 10 ) except Exception as exc: print (exc) @extra .route( "/submit" , methods = [ 'POST' ]) def submit(): data = request.get_data() try : # 创建ThreadPoolExecutor实例 executor = ThreadPoolExecutor(max_workers = 3 ) # 提交任务 future = executor.submit(processing_data, data) # 接收到数据先返回响应,不需要等数据处理完再响应 return jsonify({ "status" : "true" , "messge" : "null" , "data" : "null" }) except Exception: print (traceback.format_exc()) |
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 零经验选手,Compose 一天开发一款小游戏!
· 因为Apifox不支持离线,我果断选择了Apipost!
· 通过 API 将Deepseek响应流式内容输出到前端