コード例 #1
0
ファイル: loop_test.go プロジェクト: simonz05/policy
func catchTimeout(rs loop.Recoverings) (loop.Recoverings, error) {
	if len(rs) > 0 {
		if err, ok := rs.Last().Reason.(error); ok {
			if err.Error() == "timed out" {
				return nil, err
			}
		}
	}
	return nil, nil
}
コード例 #2
0
ファイル: monitoring.go プロジェクト: pombredanne/profanity-2
// checkRecovering checks if the backend can be recovered.
func (m *systemMonitor) checkRecovering(rs loop.Recoverings) (loop.Recoverings, error) {
	if rs.Frequency(12, time.Minute) {
		logger.Errorf("monitor cannot be recovered: %v", rs.Last().Reason)
		return nil, errors.New(ErrMonitorCannotBeRecovered, errorMessages, rs.Last().Reason)
	}
	logger.Warningf("monitor recovered: %v", rs.Last().Reason)
	return rs.Trim(12), nil
}