diff --git a/Dockerfile b/Dockerfile index ef6fdee..3255c4e 100644 --- a/Dockerfile +++ b/Dockerfile @@ -9,13 +9,11 @@ COPY . /app # 设置环境变量 ENV PYTHONUNBUFFERED=1 -# 设置工作进程数 -ENV PROCESS_WORKERS=1 -# 设置工作线程数 -ENV PROCESS_THREADS=2 RUN chmod +x /app/start.sh +RUN apt update && apt install -y jq + # 设置 pip 源为清华大学镜像 RUN pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple diff --git a/data/config.json b/data/config.json index 2f3dd95..00bee01 100644 --- a/data/config.json +++ b/data/config.json @@ -1,6 +1,8 @@ { "log_level": "DEBUG", "need_log_to_file": "true", + "process_workers": 2, + "process_threads": 2, "pandora_base_url": "", "pandora_api_prefix": "", "backend_container_url": "", diff --git a/main.py b/main.py index 21a98c7..f167091 100644 --- a/main.py +++ b/main.py @@ -173,9 +173,9 @@ CORS(app, resources={r"/images/*": {"origins": "*"}}) PANDORA_UPLOAD_URL = 'files.pandoranext.com' -VERSION = '0.3.6' +VERSION = '0.3.7' # VERSION = 'test' -UPDATE_INFO = '增加特殊情况下的错误日志输出' +UPDATE_INFO = '支持自定义启动服务的进程、线程数' # UPDATE_INFO = '【仅供临时测试使用】 ' with app.app_context(): diff --git a/start.sh b/start.sh index f5e4495..e2af8d9 100755 --- a/start.sh +++ b/start.sh @@ -3,18 +3,32 @@ # 记录当前日期和时间 NOW=$(date +"%Y-%m-%d-%H-%M") +# 尝试从环境变量获取参数,如果不存在,则从 config.json 文件中读取 +# 如果这些值仍然不存在,将它们设置为默认值 -# 如未设置,填充默认值 if [ -z "$PROCESS_WORKERS" ]; then - export PROCESS_WORKERS=1 + PROCESS_WORKERS=$(jq -r '.process_workers // empty' /app/data/config.json) + export PROCESS_WORKERS + + if [ -z "$PROCESS_WORKERS" ]; then + PROCESS_WORKERS=1 + fi fi if [ -z "$PROCESS_THREADS" ]; then - export PROCESS_THREADS=2 + PROCESS_THREADS=$(jq -r '.process_threads // empty' /app/data/config.json) + export PROCESS_THREADS + + if [ -z "$PROCESS_THREADS" ]; then + PROCESS_THREADS=2 + fi fi +export PROCESS_WORKERS +export PROCESS_THREADS + +echo "PROCESS_WORKERS: ${PROCESS_WORKERS}" +echo "PROCESS_THREADS: ${PROCESS_THREADS}" + # 启动 Gunicorn 并使用 tee 命令同时输出日志到文件和控制台 exec gunicorn -w ${PROCESS_WORKERS} --threads ${PROCESS_THREADS} --bind 0.0.0.0:33333 main:app --access-logfile - --error-logfile - - -# python3 ./main.py -