make MaintainCertDB able to cancel

This commit is contained in:
6543 2021-12-05 18:26:54 +01:00
parent 26a199053b
commit a0534f1fde
No known key found for this signature in database
GPG key ID: C99B82E40B027BAE
2 changed files with 13 additions and 4 deletions

View file

@ -2,6 +2,7 @@ package certificates
import (
"bytes"
"context"
"crypto/ecdsa"
"crypto/elliptic"
"crypto/rand"
@ -446,7 +447,7 @@ func SetupCertificates(mainDomainSuffix []byte, dnsProvider string, acmeConfig *
}
}
func MaintainCertDB(mainDomainSuffix []byte, dnsProvider string, acmeUseRateLimits bool, keyDatabase database.CertDB) {
func MaintainCertDB(ctx context.Context, interval time.Duration, mainDomainSuffix []byte, dnsProvider string, acmeUseRateLimits bool, keyDatabase database.CertDB) {
for {
// clean up expired certs
now := time.Now()
@ -503,6 +504,10 @@ func MaintainCertDB(mainDomainSuffix []byte, dnsProvider string, acmeUseRateLimi
}
}
time.Sleep(12 * time.Hour)
select {
case <-ctx.Done():
return
case <-time.After(interval):
}
}
}