Files
planer2/daten/RAG/auftraege.md
2026-07-29 15:19:41 +02:00

95 lines
3.4 KiB
Markdown

<!-- titel -->
Aufträge
----------------------------------------
<!-- art -->
kern
----------------------------------------
<!-- ziel -->
Verarbeitet asynchrone Aufgaben mit Verfolgung von Status und Ereignissen
----------------------------------------
<!-- regeln -->
- ROLE_ADMIN_AREA für Admin-Statusabruf erforderlich
- Admin-Bereich für Ereignisse gilt ohne Events-Endpunkt
- Antwort enthält lastEventId, updatedAt, startedAt, completedAt, runningStaleAfterSeconds
- Vollständiger Kontext muss explizit angefordert werden, Standard ist eingeschränkter Kontext
- Abgeschlossene, fehlgeschlagene und abgebrochene Ingest-Jobs werden mit Exitcode SUCCESS beendet
- Dry-Run gibt im Output einen Hinweis zum Zwischenspeicher-Status aus
- Ingest-Job-Verarbeitung leert PHP-Laufzeit- und Vector-Service-Cache nach Abschluss
----------------------------------------
<!-- funktion -->
Auftrag starten
<!-- ziel -->
Übermittelt einen Prompt zur asynchronen Verarbeitung im Hintergrund
<!-- regeln -->
- Leere Prompts werden abgelehnt
- Prompts über dem Zeichenlimit werden abgelehnt
- Ungültige Upload-IDs werden abgelehnt
- Job-ID besteht aus 48 Hexadezimalzeichen
- Erstellt Job mit Status pending
<!-- testen -->
- POST ask-jobs mit gültigem Prompt
- Antwort enthält jobId
- Statuscode ist 200
- POST ask-jobs mit leerem Prompt
- Statuscode ist 400
- POST ask-jobs mit zu langem Prompt
- Statuscode ist 413
----------------------------------------
<!-- funktion -->
Auftragsereignisse abrufen
<!-- ziel -->
Ermöglicht dem Client, Auftragsereignisse zu pollen
<!-- regeln -->
- Unbekannte Auftrags-ID gibt HTTP 404 zurück
- Veraltete laufende Aufträge werden als fehlgeschlagen markiert
- Ereignisse nach after werden zurückgegeben
<!-- testen -->
- GET ask-jobs jobId events after 0
- Antwort enthält status, events, lastEventId
- Unbekannte jobId gibt HTTP 404
----------------------------------------
<!-- funktion -->
Auftragsstatus anzeigen
<!-- ziel -->
Ermöglicht dem Admin, den aktuellen Status eines Auftrags ohne Seitenreload zu prüfen
<!-- regeln -->
- ROLE_ADMIN_AREA erforderlich
- JSON mit id, type, status, startedAt, finishedAt, errorMessage, logPath
- 404 bei unbekannter Auftrags-ID
<!-- testen -->
- Detailseite eines Auftrags öffnen
- Statusabfrage per AJAX auslösen
- JSON mit status und Zeitstempeln empfangen
----------------------------------------
<!-- funktion -->
Auftragsstatus prüfen
<!-- ziel -->
Ermöglicht das Prüfen des aktuellen Zustands eines Auftrags
<!-- regeln -->
- jobId ist eine 48-stellige Hexadezimalzahl
- Ungültige jobId liefert Status missing
- Abgelaufene Aufträge werden als failed markiert
- Antwort enthält status, message, timestamps und serverTime
<!-- testen -->
- ask-jobs-Endpunkt mit jobId aufrufen
- JSON-Antwort mit Status prüfen
- Status pending, running, completed, interrupted oder failed zurückgegeben
----------------------------------------
<!-- funktion -->
Ingest-Job starten
<!-- ziel -->
Startet einen bereitgestellten Ingest-Job über seine UUID
<!-- regeln -->
- Job-ID als Pflichtargument erforderlich
- Job-Status muss ausführbar sein
- Abgeschlossene Jobs werden nicht erneut ausgeführt
- Dry-Run vermeidet Seiteneffekte
- Fehler führen zu FAILURE-Exitcode
<!-- testen -->
- Befehl mit gültiger Job-ID ausführen
- Job wird verarbeitet
- Erfolgsmeldung erscheint
----------------------------------------
<!-- funktion -->
Ingest-Jobs auflisten