diff --git a/linspector/core/job.py b/linspector/core/job.py index 1453322..7543698 100644 --- a/linspector/core/job.py +++ b/linspector/core/job.py @@ -107,7 +107,7 @@ class Job: def handle_tasks(self, msg): for member in self.members: 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) TaskExecutor.Instance().schedule_task(msg, task) diff --git a/linspector/services/service.py b/linspector/services/service.py index cd0536a..59957bc 100644 --- a/linspector/services/service.py +++ b/linspector/services/service.py @@ -24,19 +24,25 @@ KEY_THRESHOLD = "threshold" KEY_FAILS = "fails" KEY_PERIODS = "periods" KEY_ARGS = "args" +KEY_CLASS = "class" logger = getLogger(__name__) class Service(object): def __init__(self, **kwargs): - + self.name = None self._args = {} if KEY_ARGS in kwargs: self.add_arguments(kwargs[KEY_ARGS]) elif self.needs_arguments(): 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 if KEY_COMMENT in kwargs: self._comment = kwargs[KEY_COMMENT] @@ -54,14 +60,18 @@ class Service(object): self.add_periods(kwargs[KEY_PERIODS]) def __str__(self): - return self.get_name() + " " + repr(self._args) + return self.get_config_name() + " " + repr(self._args) #TODO: not used somewhere #def get_service_type(self): # return str(self.__class__) - def get_name(self): - return self.__class__.__name__ + def set_config_name(self, name): + self.name = name + return self + + def get_config_name(self): + return self.name def add_arguments(self, args): for key, val in args.items(): diff --git a/linspector/tasks/task.py b/linspector/tasks/task.py index bb4b8f7..b2f77c7 100644 --- a/linspector/tasks/task.py +++ b/linspector/tasks/task.py @@ -25,6 +25,7 @@ from linspector.utils.singleton import Singleton KEY_TYPE = "type" KEY_ARGS = "args" +KEY_CLASS = "class" logger = getLogger(__name__) @@ -33,22 +34,26 @@ class Task(object): def __init__(self, **kwargs): self._args = {} - if KEY_ARGS in kwargs: self.add_arguments(kwargs[KEY_ARGS]) elif self.needs_arguments(): 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 if KEY_TYPE in kwargs: self._type = kwargs[KEY_TYPE] def get_task_type(self): - return str(self.__class__) - - def get_task_type_name(self): return str(self._type) + def get_config_name(self): + return str(self.name) + def add_arguments(self, args): for key, val in args.items(): self._args[key] = val