From de0c187307a6b98a2e75630c70a73d08b9992c66 Mon Sep 17 00:00:00 2001 From: Angus Salkeld Date: Tue, 11 Sep 2012 15:43:33 +1000 Subject: Add the rpc service and delete manager Part of blueprint service-infrastructure Change-Id: Ie00efcb1c974d699ac6b2a38285abef1b295f3ce --- openstack/common/service.py | 34 +++++++++------------------------- 1 file changed, 9 insertions(+), 25 deletions(-) (limited to 'openstack/common/service.py') diff --git a/openstack/common/service.py b/openstack/common/service.py index 01c38a4..69b0f9b 100644 --- a/openstack/common/service.py +++ b/openstack/common/service.py @@ -33,6 +33,10 @@ from openstack.common import log as logging from openstack.common import threadgroup from openstack.common.gettextutils import _ +try: + from openstack.common import rpc +except ImportError: + rpc = None LOG = logging.getLogger(__name__) @@ -121,6 +125,8 @@ class ServiceLauncher(Launcher): status = exc.code finally: self.stop() + if rpc: + rpc.cleanup() return status @@ -289,35 +295,13 @@ class ProcessLauncher(object): class Service(object): - """Service object for binaries running on hosts. + """Service object for binaries running on hosts.""" - A service takes a manager and periodically runs tasks on the manager.""" - - def __init__(self, host, manager, - periodic_interval=None, - periodic_fuzzy_delay=None): - self.host = host - self.manager = manager - self.periodic_interval = periodic_interval - self.periodic_fuzzy_delay = periodic_fuzzy_delay + def __init__(self): self.tg = threadgroup.ThreadGroup('service') - self.periodic_args = [] - self.periodic_kwargs = {} def start(self): - if self.manager: - self.manager.init_host() - - if self.periodic_interval and self.manager: - if self.periodic_fuzzy_delay: - initial_delay = random.randint(0, self.periodic_fuzzy_delay) - else: - initial_delay = 0 - self.tg.add_timer(self.periodic_interval, - self.manager.run_periodic_tasks, - initial_delay, - *self.periodic_args, - **self.periodic_kwargs) + pass def stop(self): self.tg.stop() -- cgit