예제 #1
0
파일: spin.go 프로젝트: saper/jetpack
func main() {
	s := ui.NewSpinner("Waiting...", ui.SuffixElapsed(), nil)
	for i := 0; i < 32; i++ {
		s.Step()
		time.Sleep(250 * time.Millisecond)
	}
	s.Finish()
}
예제 #2
0
파일: pod.go 프로젝트: saper/jetpack
func (pod *Pod) Kill() error {
	pod.ui.Println("Shutting down")
	spin := ui.NewSpinner("Waiting for jail to die", ui.SuffixElapsed(), nil)
	defer spin.Finish()
retry:
	switch status := pod.Status(); status {
	case PodStatusStopped:
		// All's fine
		return nil
	case PodStatusRunning:
		if err := pod.runJail("-r"); err != nil {
			return errors.Trace(err)
		}
		goto retry
	case PodStatusDying:
		// TODO: UI? Log?
		spin.Step()
		time.Sleep(250 * time.Millisecond)
		goto retry
	default:
		return errors.Errorf("Pod is %v, I am confused", status)
	}
}