"""Gunicorn configuration for the runtime service. Workers MUST stay at 1: file leases and Jupyter tickets live in in-memory process state, so a second worker would split that state. """ import os bind = os.getenv("GUNICORN_BIND", "0.0.0.0:8000") workers = int(os.getenv("GUNICORN_WORKERS", "1")) worker_class = "uvicorn.workers.UvicornWorker" timeout = int(os.getenv("GUNICORN_TIMEOUT", "120")) graceful_timeout = int(os.getenv("GUNICORN_GRACEFUL_TIMEOUT", "30")) accesslog = "-" errorlog = "-"