start.sh 1.0 KB

1234567891011121314151617181920
  1. #!/bin/bash
  2. # Скрипт запуска бэкенда для продакшена (Gunicorn + Uvicorn workers)
  3. # Ожидается, что этот скрипт запускается внутри виртуального окружения или Docker
  4. echo "🚀 Запуск Radionica3D Backend (Production)..."
  5. # Путь до PrusaSlicer (если не задан через ENV)
  6. export SLICER_PATH=${SLICER_PATH:-"prusa-slicer"}
  7. # Запуск через Gunicorn для стабильности и параллелизма
  8. # -w 4: 4 рабочих процесса (стоит адаптировать под количество ядер)
  9. # -k uvicorn.workers.UvicornWorker: использование uvicorn для асинхронности
  10. venv/bin/gunicorn main:app \
  11. --workers 4 \
  12. --worker-class uvicorn.workers.UvicornWorker \
  13. --bind 0.0.0.0:8000 \
  14. --access-logformat '%(h)s %(l)s %(u)s %(t)s "%(r)s" %(s)s %(b)s "%(f)s" "%(a)s" %(L)s' \
  15. --access-logfile - \
  16. --error-logfile -