InvenTree/docker/gunicorn.conf.py

40 lines
959 B
Python
Raw Normal View History

"""Gunicorn configuration for InvenTree."""
2022-05-20 15:24:51 +00:00
import logging
2021-04-01 09:38:18 +00:00
import multiprocessing
2021-07-29 06:37:34 +00:00
import os
# Logger configuration
2021-07-29 13:44:52 +00:00
logger = logging.getLogger('inventree')
accesslog = '-'
errorlog = '-'
loglevel = os.environ.get('INVENTREE_LOG_LEVEL', 'warning').lower()
capture_output = True
# Worker configuration
# TODO: Implement support for gevent
# worker_class = 'gevent' # Allow multi-threading support
worker_tmp_dir = '/dev/shm' # Write temp file to RAM (faster)
threads = 4
2021-07-29 06:37:34 +00:00
# Worker timeout (default = 90 seconds)
timeout = os.environ.get('INVENTREE_GUNICORN_TIMEOUT', 90)
# Number of worker processes
2021-07-29 06:37:34 +00:00
workers = os.environ.get('INVENTREE_GUNICORN_WORKERS', None)
if workers is not None:
try:
workers = int(workers)
except ValueError:
workers = None
if workers is None:
workers = multiprocessing.cpu_count() * 2 + 1
logger.info(f"Starting gunicorn server with {workers} workers")
2021-04-01 09:38:18 +00:00
max_requests = 1000
max_requests_jitter = 50