mirror of
https://github.com/prowler-cloud/prowler.git
synced 2026-10-18 01:14:16 +00:00
44 lines
1.1 KiB
Python
44 lines
1.1 KiB
Python
import logging
|
|
import multiprocessing
|
|
import os
|
|
|
|
from config.env import env
|
|
|
|
# Ensure the environment variable for Django settings is set
|
|
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "config.django.production")
|
|
|
|
# Import Django and set it up before accessing settings
|
|
import django # noqa: E402
|
|
|
|
django.setup()
|
|
from config.django.production import LOGGING as DJANGO_LOGGERS, DEBUG # noqa: E402
|
|
from config.custom_logging import BackendLogger # noqa: E402
|
|
|
|
BIND_ADDRESS = env("DJANGO_BIND_ADDRESS", default="127.0.0.1")
|
|
PORT = env("DJANGO_PORT", default=8000)
|
|
|
|
# Server settings
|
|
bind = f"{BIND_ADDRESS}:{PORT}"
|
|
|
|
workers = env.int("DJANGO_WORKERS", default=multiprocessing.cpu_count() * 2 + 1)
|
|
reload = DEBUG
|
|
|
|
# Logging
|
|
logconfig_dict = DJANGO_LOGGERS
|
|
gunicorn_logger = logging.getLogger(BackendLogger.GUNICORN)
|
|
|
|
|
|
# Hooks
|
|
def on_starting(_):
|
|
gunicorn_logger.info(f"Starting gunicorn server with {workers} workers")
|
|
if reload:
|
|
gunicorn_logger.warning("Reload settings enabled (dev mode)")
|
|
|
|
|
|
def on_reload(_):
|
|
gunicorn_logger.warning("Gunicorn server has reloaded")
|
|
|
|
|
|
def when_ready(_):
|
|
gunicorn_logger.info("Gunicorn server is ready")
|