Skip to content

Commit fc3aaa9

Browse files
committed
Avoid time.Sleep
1 parent 38d9b77 commit fc3aaa9

File tree

1 file changed

+12
-2
lines changed

1 file changed

+12
-2
lines changed

modal-go/task_command_router_client.go

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -578,7 +578,12 @@ func (c *TaskCommandRouterClient) streamStdio(
578578
return
579579
}
580580
c.logger.DebugContext(ctx, "Retrying stdio read with delay", "delay", delay, "error", err)
581-
time.Sleep(delay)
581+
select {
582+
case <-ctx.Done():
583+
resultCh <- stdioReadResult{Err: ctx.Err()}
584+
return
585+
case <-time.After(delay):
586+
}
582587
delay = time.Duration(float64(delay) * delayFactor)
583588
numRetriesRemaining--
584589
continue
@@ -607,7 +612,12 @@ func (c *TaskCommandRouterClient) streamStdio(
607612
return
608613
}
609614
c.logger.DebugContext(ctx, "Retrying stdio read with delay", "delay", delay, "error", err)
610-
time.Sleep(delay)
615+
select {
616+
case <-ctx.Done():
617+
resultCh <- stdioReadResult{Err: ctx.Err()}
618+
return
619+
case <-time.After(delay):
620+
}
611621
delay = time.Duration(float64(delay) * delayFactor)
612622
numRetriesRemaining--
613623
break

0 commit comments

Comments
 (0)