Files
the-other-dude/backend/gunicorn.conf.py
2026-03-14 12:03:51 -05:00

31 lines
849 B
Python

"""Gunicorn configuration for production deployment.
Uses UvicornWorker for async support under gunicorn's process management.
Worker count and timeouts are configurable via environment variables.
"""
import os
# Server socket
bind = os.getenv("GUNICORN_BIND", "0.0.0.0:8000")
# Worker processes
workers = int(os.getenv("GUNICORN_WORKERS", "2"))
worker_class = "uvicorn.workers.UvicornWorker"
# Timeouts
graceful_timeout = int(os.getenv("GUNICORN_GRACEFUL_TIMEOUT", "30"))
timeout = int(os.getenv("GUNICORN_TIMEOUT", "120"))
keepalive = int(os.getenv("GUNICORN_KEEPALIVE", "5"))
# Logging -- use stdout/stderr for Docker log collection
accesslog = "-"
errorlog = "-"
loglevel = os.getenv("LOG_LEVEL", "info")
# Process naming
proc_name = "tod-api"
# Preload application for faster worker spawning (shared memory for code)
preload_app = True