Do not setLastStateChangeToNow every 5 seconds

This commit is contained in:
Juan Font 2022-04-30 14:47:16 +00:00 committed by GitHub
parent 28efd92fca
commit 843e2bd9b6

4
app.go
View File

@ -292,11 +292,13 @@ func (h *Headscale) expireEphemeralNodesWorker() {
return return
} }
expiredFound := false
for _, machine := range machines { for _, machine := range machines {
if machine.AuthKey != nil && machine.LastSeen != nil && if machine.AuthKey != nil && machine.LastSeen != nil &&
machine.AuthKey.Ephemeral && machine.AuthKey.Ephemeral &&
time.Now(). time.Now().
After(machine.LastSeen.Add(h.cfg.EphemeralNodeInactivityTimeout)) { After(machine.LastSeen.Add(h.cfg.EphemeralNodeInactivityTimeout)) {
expiredFound = true
log.Info(). log.Info().
Str("machine", machine.Name). Str("machine", machine.Name).
Msg("Ephemeral client removed from database") Msg("Ephemeral client removed from database")
@ -311,8 +313,10 @@ func (h *Headscale) expireEphemeralNodesWorker() {
} }
} }
if expiredFound {
h.setLastStateChangeToNow(namespace.Name) h.setLastStateChangeToNow(namespace.Name)
} }
}
} }
func (h *Headscale) grpcAuthenticationInterceptor(ctx context.Context, func (h *Headscale) grpcAuthenticationInterceptor(ctx context.Context,