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
Esempio n. 2
0
 def stop(self):
     """
     Stops the scheduler.
     :return:
     """
     self.service_manager.stop_services()
     self.service_manager.stop()
     BaseService.stop(self)
Esempio n. 3
0
    def start(self):
        BaseService.start(self)
        self.get_directory_service_proxy().start()

        self.log.info("starting services...")
        self.monitor_services()

        return self.greenlet
Esempio n. 4
0
 def stop(self):
     """
     Stops the scheduler.
     :return:
     """
     self.service_manager.stop_services()
     self.service_manager.stop()
     BaseService.stop(self)
Esempio n. 5
0
    def start(self):
        BaseService.start(self)
        self.get_directory_service_proxy().start()

        self.log.info("starting services...")
        self.monitor_services()

        return self.greenlet
Esempio n. 6
0
 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
Esempio n. 7
0
 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
Esempio n. 8
0
 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
Esempio n. 9
0
 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):
     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
Esempio n. 11
0
    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.")
Esempio n. 12
0
 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
Esempio n. 13
0
 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
Esempio n. 14
0
 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
Esempio n. 15
0
 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
Esempio n. 16
0
    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.")
Esempio n. 17
0
    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)
Esempio n. 18
0
 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
Esempio n. 19
0
 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
Esempio n. 20
0
    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)
Esempio n. 21
0
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
Esempio n. 22
0
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
Esempio n. 23
0
 def __init__(self, name="base-service", parent_logger=None):
     BaseService.__init__(self, name, parent_logger=parent_logger)
     self.ack = False
     self.ack_time = None
Esempio n. 24
0
 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)
Esempio n. 25
0
 def __init__(self, service, mock_output_pid):
     BaseService.__init__(self, "timer")
     self.service = service
     self.mock_output_pid = mock_output_pid
Esempio n. 26
0
 def __init__(self, name, parent_logger=None):
     BaseService.__init__(self, name, parent_logger=parent_logger)
Esempio n. 27
0
 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
Esempio n. 28
0
 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
Esempio n. 29
0
 def __init__(self, name, parent_logger=None):
     BaseService.__init__(self, name, parent_logger=parent_logger)
Esempio n. 30
0
 def __init__(self, name):
     BaseService.__init__(self, name)
     self.scheduler = Scheduler("scheduler", parent_logger=self.log)
 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 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
Esempio n. 33
0
 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
Esempio n. 34
0
 def __init__(self, name):
     BaseService.__init__(self, name)
     self.scheduler = Scheduler("scheduler", parent_logger=self.log)
Esempio n. 35
0
 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
Esempio n. 36
0
 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 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()
Esempio n. 38
0
 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