Skip to content

Dokumentation für **/ce/run/managers/*.py

Modul: open_ticket_ai\src\ce\run\managers\orchestrator.py

Orchestrierungs-Hilfsprogramme auf höchster Ebene.

class Orchestrator

Orchestriert die Ausführung von Ticketverarbeitungs-Pipelines. Diese Klasse verwaltet den Lebenszyklus von Pipelines, einschließlich:

  • Instanziierung der Pipeline mittels Dependency Injection
  • Verarbeitung einzelner Tickets
  • Geplante Ausführung von Pipelines

Parameter:

  • config () - Konfigurationseinstellungen für den Orchestrator
  • container () - Dependency-Injection-Container, der Pipeline-Instanzen bereitstellt
  • _logger () - Logger-Instanz für Orchestrierungsvorgänge
  • _pipelines () - Dictionary, das Pipeline-IDs auf Pipeline-Instanzen abbildet
#### method def __init__(self, config: OpenTicketAIConfig, container: AbstractContainer)

Initialisiert den Orchestrator mit Konfiguration und DI-Container.

Parameter:

  • config () - Konfigurationseinstellungen für den Orchestrator.
  • container () - Dependency-Injection-Container, der Pipeline-Instanzen bereitstellt.
#### method def process_ticket(self, ticket_id: str, pipeline: Pipeline) -> PipelineContext

Führt eine Pipeline für ein bestimmtes Ticket aus. Erstellt einen Verarbeitungskontext und führt die angegebene Pipeline aus, um das gegebene Ticket zu verarbeiten. Dies ist die Kernmethode für die individuelle Ticketverarbeitung.

Parameter:

  • ticket_id () - Eindeutiger Bezeichner des zu verarbeitenden Tickets.
  • pipeline () - Auszuführende Pipeline-Instanz.

Rückgabe: (PipelineContext) - Der Ausführungskontext, der die Ergebnisse und den Zustand nach der Pipeline-Ausführung enthält.

#### method def build_pipelines(self) -> None

Instanziiert alle konfigurierten Pipeline-Objekte. Verwendet den Dependency-Injection-Container, um Pipeline-Instanzen basierend auf der Konfiguration zu erstellen. Füllt die interne Pipeline-Registry mit Zuordnungen von Pipeline-IDs zu Instanzen.

#### method def set_schedules(self) -> None

Konfiguriert die geplante Ausführung für alle Pipelines. Führt die folgenden Operationen durch:

  1. Erstellt Pipelines, falls diese noch nicht instanziiert sind
  2. Konfiguriert die periodische Ausführung für jede Pipeline gemäß ihrer Zeitplankonfiguration unter Verwendung der schedule-Bibliothek

Die Zeitplanung verwendet die folgenden Konfigurationsparameter:

  • interval: Numerischer Intervallwert
  • unit: Zeiteinheit (z.B. Minuten, Stunden, Tage)

Hinweis:

  • Verwendet das schedule.every(interval).unit-Muster für die Zeitplanung
  • Übergibt bei geplanten Ausführungen einen leeren ticket_id-Kontext