chore: update code 周一-2025-11 17:57

This commit is contained in:
赵杰 Jie Zhao (雄狮汽车科技)
2025-11-03 17:57:05 +08:00
parent 20bbda37e9
commit 3a8a498648
3 changed files with 12 additions and 4 deletions

View File

@@ -28,7 +28,9 @@ COPY requirements.txt .
RUN pip install --no-cache-dir --upgrade pip && \
pip install --no-cache-dir -r requirements.txt && \
pip install --no-cache-dir gunicorn && \
which gunicorn || echo "Gunicorn installed via python -m"
python -m pip install --force-reinstall gunicorn && \
python -c "import gunicorn; print(f'Gunicorn version: {gunicorn.__version__}')" && \
python -m gunicorn --version || echo "Gunicorn installed, using python -m gunicorn"
# 复制应用代码
COPY . .
@@ -49,5 +51,5 @@ HEALTHCHECK --interval=30s --timeout=10s --start-period=5s --retries=3 \
# 使用gunicorn启动应用生产环境
# 注意默认配置使用2个worker适合1GB+内存的机器
# 如果机器内存较小512MB-1GB建议修改为 "--workers", "1"
# 使用 python -m gunicorn 确保可以找到 gunicorn
# 使用 python -m gunicorn 确保可以找到 gunicorn即使可执行文件不在PATH中也能工作
CMD ["python", "-m", "gunicorn", "--bind", "0.0.0.0:5000", "--workers", "2", "--timeout", "120", "--access-logfile", "-", "--error-logfile", "-", "web_app:app"]

View File

@@ -40,7 +40,11 @@ RUN echo "scikit-learn>=1.3.0" > requirements-minimal.txt && \
echo "gunicorn" >> requirements-minimal.txt
# 安装Python依赖使用最小化依赖opencv使用headless版本
RUN pip install --no-cache-dir -r requirements-minimal.txt
RUN pip install --no-cache-dir --upgrade pip && \
pip install --no-cache-dir -r requirements-minimal.txt && \
python -m pip install --force-reinstall gunicorn && \
python -c "import gunicorn; print(f'Gunicorn version: {gunicorn.__version__}')" && \
python -m gunicorn --version || echo "Gunicorn installed, using python -m gunicorn"
# 复制应用代码
COPY . .
@@ -59,5 +63,6 @@ HEALTHCHECK --interval=30s --timeout=10s --start-period=10s --retries=3 \
CMD python -c "import urllib.request; urllib.request.urlopen('http://localhost:5000/health').read()" || exit 1
# 使用gunicorn启动应用小内存配置单worker减少内存占用
CMD ["gunicorn", "--bind", "0.0.0.0:5000", "--workers", "1", "--threads", "2", "--timeout", "120", "--worker-class", "sync", "--max-requests", "1000", "--max-requests-jitter", "100", "--preload", "--access-logfile", "-", "--error-logfile", "-", "web_app:app"]
# 使用 python -m gunicorn 确保可以找到 gunicorn即使可执行文件不在PATH中也能工作
CMD ["python", "-m", "gunicorn", "--bind", "0.0.0.0:5000", "--workers", "1", "--threads", "2", "--timeout", "120", "--worker-class", "sync", "--max-requests", "1000", "--max-requests-jitter", "100", "--preload", "--access-logfile", "-", "--error-logfile", "-", "web_app:app"]

View File

@@ -34,3 +34,4 @@ kivymd>=1.1.1
# Web端支持 (必需)
Flask>=3.0.0
Werkzeug>=3.0.0
gunicorn>=21.2.0 # Web服务器生产环境必需