mirror of
https://github.com/yusing/godoxy.git
synced 2025-06-09 13:02:33 +02:00
updated autocert renew check logic
This commit is contained in:
parent
acdb324f7d
commit
c269bd04d3
1 changed files with 8 additions and 3 deletions
|
@ -154,16 +154,21 @@ func (p *Provider) ScheduleRenewal() {
|
||||||
}
|
}
|
||||||
go func() {
|
go func() {
|
||||||
task := task.GlobalTask("cert renew scheduler")
|
task := task.GlobalTask("cert renew scheduler")
|
||||||
ticker := time.NewTicker(5 * time.Second)
|
|
||||||
defer ticker.Stop()
|
|
||||||
defer task.Finish("cert renew scheduler stopped")
|
defer task.Finish("cert renew scheduler stopped")
|
||||||
|
|
||||||
for {
|
for {
|
||||||
|
renewalTime := p.ShouldRenewOn()
|
||||||
|
timer := time.NewTimer(time.Until(renewalTime))
|
||||||
|
|
||||||
select {
|
select {
|
||||||
case <-task.Context().Done():
|
case <-task.Context().Done():
|
||||||
|
timer.Stop()
|
||||||
return
|
return
|
||||||
case <-ticker.C: // check every 5 seconds
|
case <-timer.C:
|
||||||
if err := p.renewIfNeeded(); err != nil {
|
if err := p.renewIfNeeded(); err != nil {
|
||||||
E.LogWarn("cert renew failed", err, &logger)
|
E.LogWarn("cert renew failed", err, &logger)
|
||||||
|
// Retry after 1 hour on failure
|
||||||
|
time.Sleep(time.Hour)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Reference in a new issue