| 123456789101112131415161718192021222324252627282930313233 |
- """Gunicorn configuration for DataOps Platform production."""
- import os
- bind = f"{os.environ.get('LISTEN_HOST', '0.0.0.0')}:{os.environ.get('LISTEN_PORT', '5500')}"
- workers = int(os.environ.get("GUNICORN_WORKERS", "4"))
- timeout = int(os.environ.get("GUNICORN_TIMEOUT", "120"))
- capture_output = True
- enable_stdio_inheritance = True
- loglevel = "info"
- def post_worker_init(worker):
- """Re-apply Flask file logging after Gunicorn worker initialization."""
- del worker
- try:
- from wsgi import application
- from app import configure_logging
- configure_logging(application)
- except Exception as exc:
- import sys
- print(f"[gunicorn] post_worker_init logging setup failed: {exc}", file=sys.stderr)
- def worker_exit(server, worker):
- """Dispose process-local external data-source pools on Worker exit."""
- del server, worker
- from app.core.data_source.runtime import close_data_source_runtime
- close_data_source_runtime()
|