在 Flask 中并发执行任务
在Flask中并行执行任务,不等结果直接返回
from flask import Flask from gevent import monkey; monkey.patch_all() # 打补丁,把阻塞IO变异步 import gevent import time app = Flask(__name__) def long_task(name): for i in range(3): print(f"[{name}] step {i}") time.sleep(1) print(f"[{name}] done!") @app.route("/gevent") def run_gevent_task(): # 创建异步 greenlet(协程任务) g = gevent.spawn(long_task, "TaskA") # 不等待结果,直接返回响应 return "Gevent task started!" if __name__ == "__main__": # 用 gevent 启动 Flask 服务 from gevent.pywsgi import WSGIServer print("Running on http://127.0.0.1:5000") http_server = WSGIServer(("0.0.0.0", 5000), app) http_server.serve_forever()
 
                    
                     
                    
                 
                    
                 
                
            
         
 
         浙公网安备 33010602011771号
浙公网安备 33010602011771号