From 5b8476018cd6a8c755267669448c71b2e40fc6d2 Mon Sep 17 00:00:00 2001 From: Andre Anjos <andre.dos.anjos@gmail.com> Date: Sun, 8 May 2016 17:58:34 +0200 Subject: [PATCH] [backend] Postpone worker setup until first use --- beat/web/backend/views.py | 20 +++++++++++++------- 1 file changed, 13 insertions(+), 7 deletions(-) diff --git a/beat/web/backend/views.py b/beat/web/backend/views.py index 00f958987..3e5780be2 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) -- GitLab