| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748 |
- # -*- coding: utf-8 -*-
- """
- Enumerationen für das Service-System.
- Definiert Prioritäten, Gruppen und Zustände für Services.
- """
- from enum import IntEnum, auto
- class ServicePriority(IntEnum):
- """
- Priorität eines Services für die Startreihenfolge.
- Services mit höherer Priorität (niedrigerer Wert) werden zuerst gestartet.
- """
- CRITICAL = 0 # Kritische Systemkomponenten (Logging, Config)
- CORE = 10 # Kernkomponenten (EventManager, etc.)
- NETWORK = 20 # Netzwerk-Services (Sockets, Protokoll)
- MANAGER = 30 # Manager-Services (Satellite, Plugin)
- PLUGIN = 40 # Plugin-Services
- OPTIONAL = 50 # Optionale Services
- class ServiceGroup(IntEnum):
- """
- Gruppierung von Services für Organisation und Filterung.
- """
- CRITICAL = auto() # Kritische Systemdienste
- NETWORK = auto() # Netzwerk-bezogene Dienste
- MANAGER = auto() # Verwaltungsdienste
- AUDIO = auto() # Audio-Verarbeitung
- ML = auto() # Machine Learning
- UTILITY = auto() # Hilfsdienste
- PLUGIN = auto() # Plugin-Dienste
- CONVERSATION = auto() # Dialog/Konversations-Dienste
- SCHEDULER = auto() # Scheduling/Cron-Dienste
- class ServiceState(IntEnum):
- """
- Aktueller Zustand eines Services.
- """
- STOPPED = auto() # Service ist gestoppt
- STARTING = auto() # Service wird gestartet
- RUNNING = auto() # Service läuft
- STOPPING = auto() # Service wird gestoppt
- FAILED = auto() # Service ist fehlgeschlagen
|