55 lines
1.5 KiB
Python
55 lines
1.5 KiB
Python
# ///
|
|
# run.py
|
|
# 描述:多进程启动脚本
|
|
# 作者:AI Generated
|
|
# 创建日期:2026-04-05
|
|
# ///
|
|
|
|
import os
|
|
import sys
|
|
import argparse
|
|
import uvicorn
|
|
|
|
|
|
def main():
|
|
parser = argparse.ArgumentParser(description="WXAuto Center 启动脚本")
|
|
parser.add_argument("--host", type=str, default=None, help="监听地址")
|
|
parser.add_argument("--port", type=int, default=None, help="监听端口")
|
|
parser.add_argument("--workers", type=int, default=None, help="工作进程数")
|
|
parser.add_argument("--reload", action="store_true", help="启用热重载")
|
|
parser.add_argument("--debug", action="store_true", help="调试模式")
|
|
|
|
args = parser.parse_args()
|
|
|
|
from config import load_config_from_file, get_settings
|
|
load_config_from_file("config.json")
|
|
settings = get_settings()
|
|
|
|
host = args.host or settings.host
|
|
port = args.port or settings.port
|
|
workers = args.workers or settings.workers
|
|
debug = args.debug or settings.debug
|
|
|
|
if workers > 1:
|
|
print(f"Starting with {workers} workers...")
|
|
uvicorn.run(
|
|
"main:app",
|
|
host=host,
|
|
port=port,
|
|
workers=workers,
|
|
reload=False
|
|
)
|
|
else:
|
|
print(f"Starting in single worker mode...")
|
|
uvicorn.run(
|
|
"main:app",
|
|
host=host,
|
|
port=port,
|
|
reload=args.reload,
|
|
log_level="debug" if debug else "info"
|
|
)
|
|
|
|
|
|
if __name__ == "__main__":
|
|
main()
|