added class names in dynamically imported objects

This commit is contained in:
RafTim 2013-11-11 02:10:25 +01:00
commit a48b5feaa4
3 changed files with 25 additions and 10 deletions

View file

@ -107,7 +107,7 @@ class Job:
def handle_tasks(self, msg): def handle_tasks(self, msg):
for member in self.members: for member in self.members:
for task in member.get_tasks(): for task in member.get_tasks():
if self.status.lower() == task.get_task_type_name(): if self.status.lower() == task.get_task_type():
logger.debug("Executing Task of type: " + self.status) logger.debug("Executing Task of type: " + self.status)
TaskExecutor.Instance().schedule_task(msg, task) TaskExecutor.Instance().schedule_task(msg, task)

View file

@ -24,19 +24,25 @@ KEY_THRESHOLD = "threshold"
KEY_FAILS = "fails" KEY_FAILS = "fails"
KEY_PERIODS = "periods" KEY_PERIODS = "periods"
KEY_ARGS = "args" KEY_ARGS = "args"
KEY_CLASS = "class"
logger = getLogger(__name__) logger = getLogger(__name__)
class Service(object): class Service(object):
def __init__(self, **kwargs): def __init__(self, **kwargs):
self.name = None
self._args = {} self._args = {}
if KEY_ARGS in kwargs: if KEY_ARGS in kwargs:
self.add_arguments(kwargs[KEY_ARGS]) self.add_arguments(kwargs[KEY_ARGS])
elif self.needs_arguments(): elif self.needs_arguments():
raise Exception("Error: needs arguments but none provided!") raise Exception("Error: needs arguments but none provided!")
if KEY_CLASS in kwargs:
self.name = kwargs[KEY_CLASS]
else:
self.name = self.__class__
self._comment = None self._comment = None
if KEY_COMMENT in kwargs: if KEY_COMMENT in kwargs:
self._comment = kwargs[KEY_COMMENT] self._comment = kwargs[KEY_COMMENT]
@ -54,14 +60,18 @@ class Service(object):
self.add_periods(kwargs[KEY_PERIODS]) self.add_periods(kwargs[KEY_PERIODS])
def __str__(self): def __str__(self):
return self.get_name() + " " + repr(self._args) return self.get_config_name() + " " + repr(self._args)
#TODO: not used somewhere #TODO: not used somewhere
#def get_service_type(self): #def get_service_type(self):
# return str(self.__class__) # return str(self.__class__)
def get_name(self): def set_config_name(self, name):
return self.__class__.__name__ self.name = name
return self
def get_config_name(self):
return self.name
def add_arguments(self, args): def add_arguments(self, args):
for key, val in args.items(): for key, val in args.items():

View file

@ -25,6 +25,7 @@ from linspector.utils.singleton import Singleton
KEY_TYPE = "type" KEY_TYPE = "type"
KEY_ARGS = "args" KEY_ARGS = "args"
KEY_CLASS = "class"
logger = getLogger(__name__) logger = getLogger(__name__)
@ -33,22 +34,26 @@ class Task(object):
def __init__(self, **kwargs): def __init__(self, **kwargs):
self._args = {} self._args = {}
if KEY_ARGS in kwargs: if KEY_ARGS in kwargs:
self.add_arguments(kwargs[KEY_ARGS]) self.add_arguments(kwargs[KEY_ARGS])
elif self.needs_arguments(): elif self.needs_arguments():
raise Exception("Error: needs arguments but none provided!") raise Exception("Error: needs arguments but none provided!")
if KEY_CLASS in kwargs:
self.name = kwargs[KEY_CLASS]
else:
self.name = self.__class__
self._type = None self._type = None
if KEY_TYPE in kwargs: if KEY_TYPE in kwargs:
self._type = kwargs[KEY_TYPE] self._type = kwargs[KEY_TYPE]
def get_task_type(self): def get_task_type(self):
return str(self.__class__)
def get_task_type_name(self):
return str(self._type) return str(self._type)
def get_config_name(self):
return str(self.name)
def add_arguments(self, args): def add_arguments(self, args):
for key, val in args.items(): for key, val in args.items():
self._args[key] = val self._args[key] = val