diff --git a/beat/web/backend/views.py b/beat/web/backend/views.py index 00f9589878e75c17244c0adec8b516a7f714c759..3e5780be275a4dbddeeb2bcb3828c6c4d2a1e148 100644 --- a/beat/web/backend/views.py +++ b/beat/web/backend/views.py @@ -58,18 +58,24 @@ from . import schedule class Work: '''Helper to do the required worker job for local scheduling''' - cpulimit = resolve_cpulimit_path(None) - process = utils.resolve_process_path() - environments = utils.find_environments(None) + cpulimit = None + process = None + environments = None worker = None + def __setup__(self): + + Worker.cpulimit = resolve_cpulimit_path(None) + Worker.process = utils.resolve_process_path() + Worker.environments = utils.find_environments(None) + Work.worker = Worker.objects.get(name=socket.gethostname()) \ + if Worker.objects.count() != 1 else Worker.objects.get() + def __call__(self): - if Work.worker is None: # set it once - # if only one worker declared, use that one - Work.worker = Worker.objects.get(name=socket.gethostname()) \ - if Worker.objects.count() != 1 else Worker.objects.get() + if Work.worker is None: self.__setup__() + # Regular work utils.cleanup_zombies() Work.worker.work(Work.environments, Work.cpulimit, Work.process)