# backend/gunicorn.conf.py — uvicorn worker 프로세스 모델 (phase-15)
import multiprocessing
import os

bind = "0.0.0.0:8000"
worker_class = "uvicorn.workers.UvicornWorker"
workers = int(os.environ.get("WEB_CONCURRENCY", max(2, multiprocessing.cpu_count() // 2 + 1)))
timeout = int(os.environ.get("GUNICORN_TIMEOUT", "60"))
graceful_timeout = 30
keepalive = 5
accesslog = "-"  # JSON 접근 로그는 앱 미들웨어(observability)가 담당
errorlog = "-"
loglevel = os.environ.get("LOG_LEVEL", "info").lower()
