This commit is contained in:
Linrador 2026-06-01 11:33:39 +02:00
parent ae957af7b2
commit c5c2275074
3 changed files with 36 additions and 8 deletions

View File

@ -952,19 +952,25 @@ func enqueueDeferredAssetsAndAI(job *RecordJob, outPath string, sourceURL string
} }
requiredGoals := requiredAnalyzeGoals() requiredGoals := requiredAnalyzeGoals()
enrichEnabled := enrichPostworkEnabled()
truth := assetsTruthForVideo(outPath) truth := assetsTruthForVideo(outPath)
needMeta := !truth.MetaReady needMeta := !truth.MetaReady
needThumb := !truth.ThumbReady needThumb := !truth.ThumbReady
needTeaser := !truth.TeaserReady needTeaser := !truth.TeaserReady
needSprites := !truth.SpritesReady
// Sprites + Analyse gehören zur langsamen Enrich-Nacharbeit.
// Wenn Enrich deaktiviert ist, dürfen sie nicht als Fehler oder "wartend" auftauchen.
needSprites := enrichEnabled && !truth.SpritesReady
needAnalyze := false needAnalyze := false
for _, goal := range requiredGoals { if enrichEnabled {
if !hasAIAnalysisForOutputGoal(outPath, goal) { for _, goal := range requiredGoals {
needAnalyze = true if !hasAIAnalysisForOutputGoal(outPath, goal) {
break needAnalyze = true
break
}
} }
} }

View File

@ -1,4 +1,4 @@
// backend/postwork.go // backend\postwork.go
package main package main
import ( import (
@ -439,7 +439,11 @@ func enrichPostworkEnabled() bool {
func enqueueEnrichPostwork(task PostWorkTask) bool { func enqueueEnrichPostwork(task PostWorkTask) bool {
if !enrichPostworkEnabled() { if !enrichPostworkEnabled() {
appLogln("⏭️ enrich postwork deaktiviert, überspringe:", task.Key) appLogln("⏭️ enrich postwork deaktiviert, überspringe:", task.Key)
return false
// Wichtig:
// Deaktiviert heißt "bewusst übersprungen", nicht "enqueue fehlgeschlagen".
// Caller, die false als Fehler behandeln, sollen hier keinen Fehler erzeugen.
return true
} }
return enrichQ.Enqueue(task) return enrichQ.Enqueue(task)

View File

@ -1,4 +1,4 @@
// backend/recorder.go // backend\recorder.go
package main package main
import ( import (
@ -1588,6 +1588,24 @@ func runDeferredEnrichPipeline(ctx context.Context, outPath string, sourceURL st
return appErrorf("asset id fehlt") return appErrorf("asset id fehlt")
} }
if !enrichPostworkEnabled() {
appLogln("⏭️ enrich postwork deaktiviert, breche deferred pipeline ab:", fileName)
// Kein error-publish. Deaktiviert ist kein Fehler.
// Optional: vorhandenen Analyse-Status neutral halten.
publishDeferredPhase(
fileName,
assetID,
"enrich",
"analyze",
"missing",
"",
nil,
)
return nil
}
requiredGoals := requiredAnalyzeGoals() requiredGoals := requiredAnalyzeGoals()
// best effort sourceURL aus meta.json nachziehen, falls leer // best effort sourceURL aus meta.json nachziehen, falls leer