2025-06-11 17:40:17 +01:00
|
|
|
import multiprocessing
|
|
|
|
|
import os
|
|
|
|
|
|
|
|
|
|
# Server socket
|
2025-06-18 16:44:10 +00:00
|
|
|
bind = "0.0.0.0:5042"
|
2025-06-11 17:40:17 +01:00
|
|
|
backlog = 2048
|
|
|
|
|
|
|
|
|
|
# Worker processes
|
2025-06-18 16:44:10 +00:00
|
|
|
workers = 4
|
|
|
|
|
worker_class = "uvicorn.workers.UvicornWorker"
|
2025-06-11 17:40:17 +01:00
|
|
|
worker_connections = 1000
|
2025-06-18 16:44:10 +00:00
|
|
|
timeout = 120
|
2025-06-11 17:40:17 +01:00
|
|
|
keepalive = 2
|
|
|
|
|
|
2025-06-18 16:44:10 +00:00
|
|
|
# Process naming
|
|
|
|
|
proc_name = "firefighter"
|
|
|
|
|
pythonpath = "."
|
|
|
|
|
|
2025-06-11 17:40:17 +01:00
|
|
|
# Logging
|
|
|
|
|
accesslog = "logs/access.log"
|
|
|
|
|
errorlog = "logs/error.log"
|
|
|
|
|
loglevel = "info"
|
|
|
|
|
|
|
|
|
|
# Server mechanics
|
|
|
|
|
daemon = False
|
|
|
|
|
pidfile = "gunicorn.pid"
|
|
|
|
|
umask = 0
|
|
|
|
|
user = None
|
|
|
|
|
group = None
|
|
|
|
|
tmp_upload_dir = None
|
|
|
|
|
|
2025-06-18 16:44:10 +00:00
|
|
|
# Worker lifecycle
|
|
|
|
|
max_requests = 1000
|
|
|
|
|
max_requests_jitter = 50
|
|
|
|
|
graceful_timeout = 30
|
|
|
|
|
preload_app = True
|
2025-06-11 17:40:17 +01:00
|
|
|
|
2025-06-18 16:44:10 +00:00
|
|
|
# Debug
|
|
|
|
|
reload = False
|
|
|
|
|
reload_engine = "auto"
|
|
|
|
|
spew = False
|
2025-06-11 17:40:17 +01:00
|
|
|
|
2025-06-18 16:44:10 +00:00
|
|
|
# Server mechanics
|
|
|
|
|
check_config = False
|
|
|
|
|
preload_app = True
|