1.5 KiB
1.5 KiB
Validierung Queue/Lifecycle
Geprüfte Regressionen:
- Mehrere
article.research.fetch.started/completedmit derselbenresearch_idergeben genau einen Research-Lauf. - Wiederholte Root-Start-Events derselben Run-ID duplizieren
activeOrdernicht. research.ingestedbeendet einen neuen Relationslauf nicht vor dem explizitenresearch.completed.- Alte Relationsläufe mit
research.results, aber ohne Terminal bleiben nach der Grace-Period nicht dauerhaftrunning. - Der gemeinsame Work-Limiter zählt Active/Waiting separat nach Operationstyp und Release ist idempotent.
- Ein zweiter Ollama-Request, der auf einen belegten Node wartet, verbraucht keinen gemeinsamen Work-Slot; ein SearXNG-Slot bleibt verfügbar.
- Eine ältere, langsamere SearXNG-Anfrage kann den Diagnosestatus einer neueren bereits abgeschlossenen Anfrage nicht überschreiben.
- Ein Paralleltest mit 16 gleichzeitigen
EnqueueResearchTask-Aufrufen für denselbendedupe_keyerwartet exakt eine neu angelegte Aufgabe (Test ist für den echten SQLite-Treiber enthalten; lokal konnte er wegen des Compile-only-Stubs nicht ausgeführt werden). node --check internal/web/static/analysis.jserfolgreich.
Die Projektdatei verlangt Go 1.26, während die Validierungsumgebung Go 1.23 ohne externen Modulzugriff bereitstellt. Die projektweite Typkompilierung und go vet ./... wurden daher in einer temporären Kopie mit go 1.23 und einem lokalen compile-only Stub für modernc.org/sqlite ausgeführt. Der ausgelieferte Baum behält go 1.26 und modernc.org/sqlite v1.37.1 unverändert.