uvicorn 多线程运行python Fastapi
Python 2024/4/2 21:45:35 点击:不统计
uvicorn 启动 Python 应用程序的命令,可以启动多线程命令,可以是FastAPI 程序。
1.举例说明 , 以一个 FastAPI 为例子 新建server.py 文件,python代码如下
from fastapi import FastAPI
# 这里是创建 服务对象app
app = FastAPI()
@app.post("/api")
async def process_ai(data: dict, request: Request):
# 获取header token
token = request.headers["token"] if "token" in request.headers else ""
# data 获取post 的data ,这里省略了 处理数据过程
return "www.forasp.cn"
2. 多线程启动方式
(1) 通过文件内启动
if __name__ == '__main__':
uvicorn.run(app, host="0.0.0.0", port=8000, workers=4)
(2)通过命令行启动
python -m uvicorn server:app --host 0.0.0.0 --port 8000 --workers 4
上面案例就是绑定服务器本地ip ,对外服务端口是 8000 启动4个线程,启动 server.php 中app 对象服务
启动参数说明:
--host:指定服务器绑定的主机地址,默认为 127.0.0.1。
--port:指定服务器绑定的端口,默认为 8000。
--workers:设置工作进程的数量,默认为 1。使用多个工作进程可以提高服务器的并发处理能力。
--reload:开启自动重新加载功能,在代码修改后自动重启服务器。开发环境中非常有用,但不建议在生产环境中使用。
--ssl-keyfile 和 --ssl-certfile:启用 HTTPS 支持,分别指定 SSL 密钥文件和 SSL 证书文件。
您可以使用 uvicorn --help 命令查看所有可用选项的完整列表和详细说明。
3. 请求接口服务
通过post http://服务器IP:8000/api 请求接口 返回 "www.forasp.cn"
4. 停止 uvicorn 多线程服务
运行命令:
pkill -f 'uvicorn server:app'
以上就是 uvicorn 多线程服务。