mirror of
				https://github.com/inventree/InvenTree.git
				synced 2025-11-03 22:55:43 +00:00 
			
		
		
		
	* added flake8-logging to make logging more robust * fixed LOG005 warnings * fixed LOG008 warnings * fixed LOG011 warnings * fixed more LOG011 errors * added ignores for intentional logger.error calls * fixed even more LOG011 errors
		
			
				
	
	
		
			43 lines
		
	
	
		
			1.0 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			43 lines
		
	
	
		
			1.0 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
"""Gunicorn configuration for InvenTree."""
 | 
						|
 | 
						|
import logging
 | 
						|
import multiprocessing
 | 
						|
import os
 | 
						|
 | 
						|
# Logger configuration
 | 
						|
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
 | 
						|
 | 
						|
 | 
						|
# Worker timeout (default = 90 seconds)
 | 
						|
timeout = os.environ.get('INVENTREE_GUNICORN_TIMEOUT', 90)
 | 
						|
 | 
						|
# Number of worker processes
 | 
						|
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("Starting gunicorn server with %s workers", workers)
 | 
						|
 | 
						|
max_requests = 1000
 | 
						|
max_requests_jitter = 50
 | 
						|
 | 
						|
# preload app so that the ready functions are only executed once
 | 
						|
preload_app = True
 |