Add fixed timed restarts to updates (#19960)

This commit is contained in:
Klaus Post
2024-06-20 07:49:22 -07:00
committed by GitHub
parent 3e6dc02f8f
commit fae563b85d
5 changed files with 32 additions and 8 deletions
+12
View File
@@ -693,6 +693,18 @@ func (s *peerRESTServer) SignalServiceHandler(vars *grid.MSS) (np grid.NoPayload
if err != nil {
return np, grid.NewRemoteErr(err)
}
// Wait until the specified time before executing the signal.
if t := vars.Get(peerRESTExecAt); t != "" {
execAt, err := time.Parse(time.RFC3339Nano, vars.Get(peerRESTExecAt))
if err != nil {
logger.LogIf(GlobalContext, "signalservice", err)
execAt = time.Now().Add(restartUpdateDelay)
}
if d := time.Until(execAt); d > 0 {
time.Sleep(d)
}
}
signal := serviceSignal(si)
switch signal {
case serviceRestart, serviceStop: