func runCheckers()

in proxy/health/health.go [91:110]


func runCheckers(c *config.HealthCheck, l7check L7Check, address string, deal Deal) (err error) {
	var interval = DefaultInterval
	if c.Interval != "" {
		interval, err = time.ParseDuration(c.Interval)
		if err != nil {
			return err
		}
	}
	ticker := time.NewTicker(interval)
	go func() {
		for range ticker.C {
			err := CheckService(c, l7check, address)
			if err != nil {
				openlog.Error(fmt.Sprintf("health check failed for service port[%s]: %s", c.Port, err))
			}
			deal(err)
		}
	}()
	return nil
}