def __init__(self, name): BaseService.__init__(self, name, parent_logger=None, enable_service_recovery=False) self.f1000_calls = 0 self.f500_calls = 0 self.f250_calls = 0 self.f50_calls = 0 self.fa_calls = 0
def stop(self): """ Stops the scheduler. :return: """ self.service_manager.stop_services() self.service_manager.stop() BaseService.stop(self)
def start(self): BaseService.start(self) self.get_directory_service_proxy().start() self.log.info("starting services...") self.monitor_services() return self.greenlet
def start(self): """ Starts the scheduler, which by default starts the service manager. They work hand in hand. :return: """ BaseService.start(self) self.service_manager.start() return self.greenlet
def __init__(self, name, parent_logger=None, enable_service_recovery=False): BaseService.__init__(self, name, parent_logger=parent_logger, enable_service_recovery=enable_service_recovery) self.queue = MemQueue() # queue implementation
def __init__(self, name, parent_logger=None, enable_service_recovery=False): BaseService.__init__(self, name, parent_logger=parent_logger, enable_service_recovery=enable_service_recovery) self.db = MemDB() # db implementation
def __init__(self, name, parent_logger=None): BaseService.__init__(self, name, parent_logger=parent_logger) # workers each handle one rest endpoint self.service_manager = ServiceManager("service-manager", parent_logger=self.log) self.set_directory_service_proxy(self.service_manager.get_directory_service_proxy()) self.event_loop_state = RoundRobinIndexer(2) self.log.debug("Initialized.")
def __init__(self, name, parent_logger=None, enable_service_recovery=False): BaseService.__init__(self, name, parent_logger=parent_logger, enable_service_recovery=enable_service_recovery) self.queue = None self.session = None
def __init__(self, name, loop_interval=.5): """ Very important to note that this service has a loop interval of 500ms by default. :param name: :param loop_interval: :return: """ BaseService.__init__(self, name) self.register_child_stat(name) self.loop_interval = loop_interval self.ack = False
def __init__(self, name, loop_interval=0.5): """ Very important to note that this service has a loop interval of 500ms by default. :param name: :param loop_interval: :return: """ BaseService.__init__(self, name) self.register_child_stat(name) self.loop_interval = loop_interval self.ack = False
def __init__(self, name, parent_logger=None, enable_service_recovery=False): BaseService.__init__(self, name, parent_logger=parent_logger, enable_service_recovery=enable_service_recovery) self.response_parser = ResponseParser("response-parser", parent_logger=self.log) self.db = None self.queue = None
def __init__(self, name, parent_logger=None): BaseService.__init__(self, name, parent_logger=parent_logger) # workers each handle one rest endpoint self.service_manager = ServiceManager("service-manager", parent_logger=self.log) self.set_directory_service_proxy( self.service_manager.get_directory_service_proxy()) self.event_loop_state = RoundRobinIndexer(2) self.log.debug("Initialized.")
def __init__(self, name, parent_logger=None): scales.init(self, '/service-manager') BaseService.__init__(self, name, parent_logger=parent_logger) self.service_directory = {} # the directory service_directory = DirectoryService(self.service_directory, parent_logger=self.log) # wrapper # BaseService declares an interface to the directory proxy # we continue to do this (just like any other service uses # the directory proxy. It is a bit recursive, but done for # completeness sake. This is just another reference # designated by the BaseService parent class. self.set_directory_service_proxy(service_directory)
def __init__(self, name, parent_logger=None, enable_service_recovery=False): BaseService.__init__(self, name, parent_logger=parent_logger, enable_service_recovery=enable_service_recovery) self.analyzer = ResourceAnalyzer("resource-analyzer", parent_logger=self.log) self.timing_sorter = ResourceTimingSorter("timing-sorter", parent_logger=self.log) self.queue = None
def __init__(self, name, parent_logger=None, enable_service_recovery=False): BaseService.__init__(self, name, parent_logger=parent_logger, enable_service_recovery=enable_service_recovery) self.current_batch = [] self.db = None self.queue = None self.registered = { } # simple dict cache keeping resources already registered
def test_add_service(): service_alias = "test-1" manager = ServiceManager("service-manager-1") service_meta = ServiceMetaData(service_alias) test_service = BaseService(service_meta.alias) # Add service assert manager.add_service(test_service, service_meta) == True # Add adding again should fail assert manager.add_service(test_service, service_meta) == False
def test_stop_service(): service_alias = "test-1" manager = ServiceManager("service-manager-1") service_meta = ServiceMetaData(service_alias) test_service = BaseService(service_meta.alias) # Add service assert manager.add_service(test_service, service_meta) == True assert manager.get_service_count() is 1 # Stop assert manager.stop_service(service_alias) == True assert manager.get_service_count() == 0 # Stop Again will fail assert manager.stop_service(service_alias) == False
def __init__(self, name="base-service", parent_logger=None): BaseService.__init__(self, name, parent_logger=parent_logger) self.ack = False self.ack_time = None
def __init__(self, name, parent_logger=None, enable_service_recovery=False): BaseService.__init__(self, name, parent_logger=parent_logger, enable_service_recovery=enable_service_recovery) self.analyzer = ResourceAnalyzer("resource-analyzer", parent_logger=self.log) self.timing_sorter = ResourceTimingSorter("timing-sorter", parent_logger=self.log) self.queue = None self.sleep_time = .05 # 50 (.05), 250 (.25), 500 (.5), 1000 (1)
def __init__(self, service, mock_output_pid): BaseService.__init__(self, "timer") self.service = service self.mock_output_pid = mock_output_pid
def __init__(self, name, parent_logger=None): BaseService.__init__(self, name, parent_logger=parent_logger)
def __init__(self, name): BaseService.__init__(self, name) self.scheduler = Scheduler("scheduler", parent_logger=self.log)
def test_baseservice_service_directory(): """ Base service tests for: - [x] name on init - [x] idle state on init - [x] started state on start() - [x] ready() alias for idle state - [x] stopped state on stop() - [x] idle state exception when service not in stopped state - [x] idle state on idle() :return: """ name = "base-service-1" base = BaseService(name) assert base.alias == name assert base.unique_name == '%s/%s' % (name, base.uuid) assert base.get_state() == BaseStates.Idle assert base.ready() is True # ready == Idle greenlet = base.start() assert greenlet is not None assert base.get_state() == BaseStates.Starting assert base.ready() is False # exception should be thrown if state is started # and asking service to make itself idle. try: base.idle() except IdleActionException as ex: assert ex is not None base.stop() assert base.get_state() == BaseStates.Stopped base.idle() # should not throw this time assert base.get_state() == BaseStates.Idle
def __init__(self, name, parent_logger=None, enable_service_recovery=False): BaseService.__init__(self, name, parent_logger=parent_logger, enable_service_recovery=enable_service_recovery) self.current_batch = [] self.db = None self.queue = None self.registered = {} # simple dict cache keeping resources already registered
def test_baseservice(): """ Base service tests for: - [x] name on init - [x] idle state on init - [x] starting state on start() - [x] ready() alias for idle state - [x] stopped state on stop() - [x] idle state exception when service not in stopped state - [x] idle state on idle() :return: """ name = "base-service-1" base = BaseService(name) assert base.alias == name assert base.unique_name == '%s/%s' % (name, base.uuid) assert base.get_state() == BaseStates.Idle assert base.ready() is True # ready == Idle greenlet = base.start() assert greenlet is not None assert base.get_state() == BaseStates.Starting assert base.ready() is False # exception should be thrown if state is started # and asking service to make itself idle. try: base.idle() except IdleActionException as ex: assert ex is not None base.stop() assert base.get_state() == BaseStates.Stopped # Try restarting the service, it will fail because it is not idle # In order to restart a service must be set to idle again. try: base.start() assert not True # <-- should never get here except ServiceNotIdleException as ex: assert ex is not None # now set to idle base.idle() # should not throw this time assert base.get_state() == BaseStates.Idle # not start, should work and not throw an exception base.start()