mirror of
https://github.com/AdguardTeam/AdGuardHome.git
synced 2024-11-25 14:35:48 +03:00
websvc: imp restart
This commit is contained in:
parent
b448a3b5dc
commit
7ade25d227
1 changed files with 10 additions and 2 deletions
|
@ -86,16 +86,24 @@ func (svc *Service) handlePatchSettingsHTTP(w http.ResponseWriter, r *http.Reque
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
// TODO(a.garipov): !! Add some kind of timeout? Context?
|
// TODO(a.garipov): Consider better ways to do this.
|
||||||
|
const maxUpdDur = 10 * time.Second
|
||||||
|
updStart := time.Now()
|
||||||
var newSvc ServiceWithConfig[*Config]
|
var newSvc ServiceWithConfig[*Config]
|
||||||
for newSvc = svc.confMgr.Web(); newSvc == svc; {
|
for newSvc = svc.confMgr.Web(); newSvc == svc; {
|
||||||
|
if time.Since(updStart) >= maxUpdDur {
|
||||||
|
log.Error("websvc: failed to update svc after %s", maxUpdDur)
|
||||||
|
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
log.Debug("websvc: waiting for new websvc to be configured")
|
log.Debug("websvc: waiting for new websvc to be configured")
|
||||||
time.Sleep(1 * time.Second)
|
time.Sleep(1 * time.Second)
|
||||||
}
|
}
|
||||||
|
|
||||||
updErr = newSvc.Start()
|
updErr = newSvc.Start()
|
||||||
if updErr != nil {
|
if updErr != nil {
|
||||||
log.Error("websvc: new svc failed to start: %s", updErr)
|
log.Error("websvc: new svc failed to start with error: %s", updErr)
|
||||||
}
|
}
|
||||||
}()
|
}()
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue