Skip to content

Commit c43a143

Browse files
fix: put r.scriptCompleted call in goroutine
1 parent 5846216 commit c43a143

File tree

1 file changed

+24
-22
lines changed

1 file changed

+24
-22
lines changed

agent/agentscripts/agentscripts.go

Lines changed: 24 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -338,29 +338,31 @@ func (r *Runner) run(ctx context.Context, script codersdk.WorkspaceAgentScript,
338338
return
339339
}
340340

341-
var stage proto.Timing_Stage
342-
switch option {
343-
case ExecuteStartScripts:
344-
stage = proto.Timing_START
345-
case ExecuteStopScripts:
346-
stage = proto.Timing_STOP
347-
case ExecuteCronScripts:
348-
stage = proto.Timing_CRON
349-
}
341+
go func() {
342+
var stage proto.Timing_Stage
343+
switch option {
344+
case ExecuteStartScripts:
345+
stage = proto.Timing_START
346+
case ExecuteStopScripts:
347+
stage = proto.Timing_STOP
348+
case ExecuteCronScripts:
349+
stage = proto.Timing_CRON
350+
}
350351

351-
_, err = r.scriptCompleted(ctx, &proto.WorkspaceAgentScriptCompletedRequest{
352-
Timing: &proto.Timing{
353-
ScriptId: script.ID[:],
354-
Start: timestamppb.New(start),
355-
End: timestamppb.New(end),
356-
ExitCode: int32(exitCode),
357-
Stage: stage,
358-
TimedOut: errors.Is(err, ErrTimeout),
359-
},
360-
})
361-
if err != nil {
362-
logger.Error(ctx, fmt.Sprintf("reporting script completed: %s", err.Error()))
363-
}
352+
_, err = r.scriptCompleted(ctx, &proto.WorkspaceAgentScriptCompletedRequest{
353+
Timing: &proto.Timing{
354+
ScriptId: script.ID[:],
355+
Start: timestamppb.New(start),
356+
End: timestamppb.New(end),
357+
ExitCode: int32(exitCode),
358+
Stage: stage,
359+
TimedOut: errors.Is(err, ErrTimeout),
360+
},
361+
})
362+
if err != nil {
363+
logger.Error(ctx, fmt.Sprintf("reporting script completed: %s", err.Error()))
364+
}
365+
}()
364366
}()
365367

366368
err = cmd.Start()

0 commit comments

Comments
 (0)