在使用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)
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)