【Python】FastApi结合异步执行

【Python】FastApi结合异步执行,第1张

一、需求说明

在使用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)

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/langs/787095.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-05
下一篇 2022-05-05

发表评论

登录后才能评论

评论列表(0条)

保存