赞
踩
在使用fastApi框架的时候,往往程序会卡到uvicorn.run方法的执行步骤,从而其下面同步执行的动作不能被执行,此时需要使用异步思维进行其他动作的执行;
Web.py
- from fastapi import FastAPI
- app = FastAPI()
-
-
- @app.get("/info")
- async def info():
- return {"key": "HelloWorld"}
WebMain.py
- import uvicorn
- from threading import Thread
- from time import sleep
-
-
- def my_async(f):
- def wrapper(*args, **kwargs):
- thr = Thread(target=f, args=args, kwargs=kwargs)
- thr.start()
- return wrapper
-
-
- @my_async
- def print_info():
- sleep(5)
- print("############test")
-
-
- if __name__ == '__main__':
- # 放在uvicorn.run前面,不然走不到此方法;
- print_info()
- uvicorn.run(app='Web:app', host='127.0.0.1', port=8000, reload=True, debug=True)
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。