Run handlePrimarySubnetFailover() with a ticker when Serve

This commit is contained in:
Juan Font 2022-11-25 15:11:22 +00:00
parent d606b5a21e
commit 358ed64b98

12
app.go
View file

@ -218,6 +218,16 @@ func (h *Headscale) expireEphemeralNodes(milliSeconds int64) {
} }
} }
func (h *Headscale) failoverSubnetRoutes(milliSeconds int64) {
ticker := time.NewTicker(time.Duration(milliSeconds) * time.Millisecond)
for range ticker.C {
err := h.handlePrimarySubnetFailover()
if err != nil {
log.Error().Err(err).Msg("failed to handle primary subnet failover")
}
}
}
func (h *Headscale) expireEphemeralNodesWorker() { func (h *Headscale) expireEphemeralNodesWorker() {
namespaces, err := h.ListNamespaces() namespaces, err := h.ListNamespaces()
if err != nil { if err != nil {
@ -496,6 +506,8 @@ func (h *Headscale) Serve() error {
go h.expireEphemeralNodes(updateInterval) go h.expireEphemeralNodes(updateInterval)
go h.failoverSubnetRoutes(updateInterval)
if zl.GlobalLevel() == zl.TraceLevel { if zl.GlobalLevel() == zl.TraceLevel {
zerolog.RespLog = true zerolog.RespLog = true
} else { } else {