From 4eb030a6d66fc362fc7e0859159242fabd453a48 Mon Sep 17 00:00:00 2001 From: Boming Zhang Date: Fri, 11 Oct 2024 04:42:19 -0400 Subject: [PATCH] feat(stage): parser force quit only on stage ends --- internal/stage/run.go | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/internal/stage/run.go b/internal/stage/run.go index aa95468..b303e7c 100644 --- a/internal/stage/run.go +++ b/internal/stage/run.go @@ -32,6 +32,7 @@ func Run(stages []Stage) (stageResults []StageResult, err error) { slog.Debug("executor run done", "result.Files", executorResult.Files) } parserResults = []ParserResult{} + stageForceQuit := false for _, stageParser := range stage.Parsers { slog.Info("parser run start", "name", stageParser.Name) slog.Debug("parser run start", "name", stageParser.Name, @@ -48,6 +49,7 @@ func Run(stages []Stage) (stageResults []StageResult, err error) { slog.Error("parser run error", "name", stageParser.Name, "error", err) return } + stageForceQuit = stageForceQuit || forceQuit slog.Debug("parser run done", "results", tmpParserResults) if len(parserResults) == 0 { parserResults = tmpParserResults @@ -59,15 +61,14 @@ func Run(stages []Stage) (stageResults []StageResult, err error) { } if forceQuit { slog.Error("parser force quit", "name", stageParser.Name) - break } } stageResults = append(stageResults, StageResult{ Name: stage.Name, Results: parserResults, - ForceQuit: forceQuit, + ForceQuit: stageForceQuit, }) - if forceQuit { + if stageForceQuit { break } }