Skip to content
Snippets Groups Projects
Commit 5b847601 authored by André Anjos's avatar André Anjos :speech_balloon:
Browse files

[backend] Postpone worker setup until first use

parent cf5e21ba
No related branches found
No related tags found
1 merge request!194Scheduler
...@@ -58,18 +58,24 @@ from . import schedule ...@@ -58,18 +58,24 @@ from . import schedule
class Work: class Work:
'''Helper to do the required worker job for local scheduling''' '''Helper to do the required worker job for local scheduling'''
cpulimit = resolve_cpulimit_path(None) cpulimit = None
process = utils.resolve_process_path() process = None
environments = utils.find_environments(None) environments = None
worker = 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): def __call__(self):
if Work.worker is None: # set it once if Work.worker is None: self.__setup__()
# 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()
# Regular work
utils.cleanup_zombies() utils.cleanup_zombies()
Work.worker.work(Work.environments, Work.cpulimit, Work.process) Work.worker.work(Work.environments, Work.cpulimit, Work.process)
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment