-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathmain.py
More file actions
26 lines (22 loc) · 782 Bytes
/
main.py
File metadata and controls
26 lines (22 loc) · 782 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
from argparse import ArgumentParser, Namespace
import uvicorn
# 创建 ArgumentParser 对象
parser: ArgumentParser = ArgumentParser(description="启动ASGI服务器")
# 添加参数
parser.add_argument("start_mode", type=str, choices=["pro", "dev"],
help="启动模式: [pro:生产模式,dev:开发模式(自动重载、调试)]")
# 解析命令行参数
args: Namespace = parser.parse_args()
if __name__ == "__main__":
# 定义Web API参数
params: dict = {
"app": "service:app",
"host": "0.0.0.0",
"port": 6868
}
# 开发模式加重载参数
if args.start_mode == "dev":
params.update(reload=True)
elif args.start_mode == "pro":
params.update(workers=4)
uvicorn.run(**params)