"Refactor backend configuration and setup for improved maintainability (feat)"

This commit is contained in:
2025-05-23 08:56:29 +02:00
parent a11721f677
commit 9614267d48
4 changed files with 62 additions and 64 deletions

View File

@@ -1,37 +1,44 @@
#!/usr/bin/env python3
"""
WSGI-Einstiegspunkt für die MYP Flask-Anwendung.
Verwendet für den Produktionsbetrieb mit WSGI-Servern wie Gunicorn.
WSGI-Konfiguration für MYP Backend
Lädt die Flask-Anwendung für Produktions-Deployment mit Gunicorn
"""
import os
from dotenv import load_dotenv
import sys
import json
# Lade Umgebungsvariablen
load_dotenv()
# Füge das Backend-Verzeichnis zum Python-Pfad hinzu
sys.path.insert(0, os.path.dirname(os.path.abspath(__file__)))
from app import create_app
from app import create_app, init_db, init_printers, setup_frontend_v2
# Erstelle Anwendungsinstanz für Produktionsbetrieb
# Bestimme die Umgebung
flask_env = os.environ.get('FLASK_ENV', 'production')
# Erstelle die Flask-Anwendung
application = create_app(flask_env)
# Initialisierung für WSGI-Server
with application.app_context():
from app import init_db, init_printers, setup_frontend_v2
import json
# Datenbank initialisieren
init_db()
# Drucker initialisieren, falls konfiguriert
printers_config = json.loads(application.config.get('PRINTERS', '{}'))
# Drucker initialisieren (falls konfiguriert)
printers_config = application.config.get('PRINTERS', {})
if printers_config:
init_printers()
# Frontend v2 Setup
# Frontend V2 einrichten
setup_frontend_v2()
application.logger.info(f'MYP Backend gestartet in {flask_env} Modus')
# Logging für WSGI-Start
if hasattr(application, 'logger'):
application.logger.info(f'MYP Backend WSGI application started in {flask_env} mode')
# Export für Gunicorn
app = application
if __name__ == "__main__":
application.run()
# Für direkte Ausführung (Debug)
application.run(host='0.0.0.0', port=5000, debug=(flask_env == 'development'))