enums.py 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. # -*- coding: utf-8 -*-
  2. """
  3. Enumerationen für das Service-System.
  4. Definiert Prioritäten, Gruppen und Zustände für Services.
  5. """
  6. from enum import IntEnum, auto
  7. class ServicePriority(IntEnum):
  8. """
  9. Priorität eines Services für die Startreihenfolge.
  10. Services mit höherer Priorität (niedrigerer Wert) werden zuerst gestartet.
  11. """
  12. CRITICAL = 0 # Kritische Systemkomponenten (Logging, Config)
  13. CORE = 10 # Kernkomponenten (EventManager, etc.)
  14. NETWORK = 20 # Netzwerk-Services (Sockets, Protokoll)
  15. MANAGER = 30 # Manager-Services (Satellite, Plugin)
  16. PLUGIN = 40 # Plugin-Services
  17. OPTIONAL = 50 # Optionale Services
  18. class ServiceGroup(IntEnum):
  19. """
  20. Gruppierung von Services für Organisation und Filterung.
  21. """
  22. CRITICAL = auto() # Kritische Systemdienste
  23. NETWORK = auto() # Netzwerk-bezogene Dienste
  24. MANAGER = auto() # Verwaltungsdienste
  25. AUDIO = auto() # Audio-Verarbeitung
  26. ML = auto() # Machine Learning
  27. UTILITY = auto() # Hilfsdienste
  28. PLUGIN = auto() # Plugin-Dienste
  29. CONVERSATION = auto() # Dialog/Konversations-Dienste
  30. SCHEDULER = auto() # Scheduling/Cron-Dienste
  31. class ServiceState(IntEnum):
  32. """
  33. Aktueller Zustand eines Services.
  34. """
  35. STOPPED = auto() # Service ist gestoppt
  36. STARTING = auto() # Service wird gestartet
  37. RUNNING = auto() # Service läuft
  38. STOPPING = auto() # Service wird gestoppt
  39. FAILED = auto() # Service ist fehlgeschlagen