diff --git a/server/pipeline/start.go b/server/pipeline/start.go index 71c3c13c6..eb87f36e0 100644 --- a/server/pipeline/start.go +++ b/server/pipeline/start.go @@ -48,15 +48,16 @@ func start(ctx context.Context, store store.Store, activePipeline *model.Pipelin } // open logs streamer for each step - go func() { - for _, wf := range activePipeline.Workflows { - for _, step := range wf.Children { - if err := server.Config.Services.Logs.Open(context.Background(), step.ID); err != nil { - log.Error().Err(err).Msgf("could not open log stream for step %d", step.ID) + for _, wf := range activePipeline.Workflows { + for _, step := range wf.Children { + stepID := step.ID + go func() { + if err := server.Config.Services.Logs.Open(context.Background(), stepID); err != nil { + log.Error().Err(err).Msgf("could not open log stream for step %d", stepID) } - } + }() } - }() + } updatePipelineStatus(ctx, activePipeline, repo, user)