code: func Start(repo *Repo) {
  	if repo.Interval <= 0 {
  		// ignore, don't setup periodic pull.
  		Logger().Println("interval too small, periodic pull not enabled.")
  		return
  	}
  	service := &repoService{
  		repo,
  		gos.NewTicker(repo.Interval),
  		make(chan struct{}),
  	}
  	go func(s *repoService) {
  		for {
  			select {
  			case <-s.ticker.C():
  				err := repo.Pull()
  				if err != nil {
  					Logger().Println(err)
  				}
  			case <-s.halt:
  				s.ticker.Stop()
  				return
  			}
  		}
  	}(service)
  
  	// add to services to make it stoppable
  	Services.add(service)
  }
docs: // Start starts a new background service to pull periodically.