95 lines
3.4 KiB
Markdown
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
|