def __init__(self, scheduler_id, ut_ratio, enable_health_checker=True):
        """Create a new branch scheduler.

        :param scheduler_id: scheduler id
        :type scheduler_id: str
        """
        self._logger = logging.getLogger(__name__)
        self._logger.info("Creating branch scheduler: %s" % scheduler_id)

        self._place_strategy = RandomSubsetStrategy(PLACE_FAN_OUT_RATIO,
                                                    MIN_PLACE_FAN_OUT)
        self._scheduler_id = scheduler_id
        self._schedulers = []
        self._scorer = DefaultScorer(ut_ratio)
        self._threadpool = None
        self._scheduler_client = None
        self._initialize_services(scheduler_id)
Example #2
0
    def __init__(self, scheduler_id, ut_ratio, enable_health_checker=True):
        """Create a new leaf scheduler.

        :param scheduler_id: scheduler id
        :type scheduler_id: str
        :type enable_health_checker: enables health checking of children.
        """
        self._logger = logging.getLogger(__name__)
        self._logger.info("Creating leaf scheduler: %s" % scheduler_id)
        self.lock = threading.RLock()
        self._latch = CountUpDownLatch()
        self._place_strategy = RandomSubsetStrategy(PLACE_FAN_OUT_RATIO,
                                                    MIN_PLACE_FAN_OUT,
                                                    MAX_PLACE_FAN_OUT)
        self._scheduler_id = scheduler_id
        self._hosts = []
        self._scorer = DefaultScorer(ut_ratio)
        self._threadpool = None
        self._initialize_services(scheduler_id)
        self._health_checker = None
        self._enable_health_checker = enable_health_checker
        self._configured = ConfigStates.UNINITIALIZED
Example #3
0
 def test_ratio(self, scores, ratio, expected):
     scorer = DefaultScorer(ut_ratio=ratio)
     place_responses = [PlaceResponse(score=score) for score in scores]
     response = scorer.score(place_responses)
     assert_that(response.score, is_(expected))
Example #4
0
 def setUp(self):
     self.scorer = DefaultScorer(ut_ratio=9)