func()

in perf-tools/framework/app_manager.go [263:285]


func (dam *DeploymentsAppManager) WaitForAppsToBeSatisfied(appInfo *AppInfo, timeout time.Duration) error {
	startTime := time.Now()
	i := 1
	return waitForCondition(func() bool {
		err := dam.RefreshAppStatus(appInfo)
		if err != nil {
			return true
		}
		if appInfo.AppStatus.DesiredNum == 0 || appInfo.AppStatus.DesiredNum != appInfo.AppStatus.ReadyNum {
			if time.Since(startTime) > 5*time.Duration(i)*time.Second {
				utils.Logger.Info("still waiting for app to be running",
					zap.String("appID", appInfo.AppID),
					zap.Duration("timeout", timeout),
					zap.Duration("elapseTime", time.Since(startTime)),
					zap.Int("desiredNum", appInfo.AppStatus.DesiredNum),
					zap.Int("readyNum", appInfo.AppStatus.ReadyNum))
				i++
			}
			return false
		}
		return true
	}, 1*time.Second, timeout)
}