"Refactor backend configuration and setup for improved maintainability (feat)"
This commit is contained in:
@@ -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'))
|
||||
Reference in New Issue
Block a user