From 0acb6402b0d8d8398ce766224a0af7175b398a75 Mon Sep 17 00:00:00 2001 From: Johannes Findeisen Date: Mon, 9 Dec 2013 23:23:40 +0100 Subject: [PATCH] creating jobs inside the worker now; don't know if this is better, feels starting faster now --- bin/linspector | 14 ++------------ linspector/core/worker.py | 11 ++++++++++- 2 files changed, 12 insertions(+), 13 deletions(-) diff --git a/bin/linspector b/bin/linspector index 9c64213..869082b 100755 --- a/bin/linspector +++ b/bin/linspector @@ -20,7 +20,7 @@ along with this program. If not, see . """ -__version__ = "0.15/AMNESIA" +__version__ = "0.15.1/AMNESIA" import argparse import datetime @@ -34,7 +34,6 @@ from multiprocessing import cpu_count from linspector.config.parser import FullConfigParser from linspector.core.interface import LinspectorInterface -from linspector.core.job import LinspectorJob from linspector.core.worker import LinspectorWorker from linspector.frontends.lish import LishFrontend from linspector.tasks.task import TaskExecutor @@ -159,18 +158,9 @@ def main(): time_delta += float(args.delay) new_start_date = start_date + datetime.timedelta(seconds=time_delta) - job = LinspectorJob(service, - host, - hostgroup.get_members(), - core, - hostgroup) worker = workers[instance] - scheduler_job = period.createJob(worker.get_scheduler(), job, worker.handle_job, - start_date=new_start_date) - if scheduler_job is not None: - job.set_job(scheduler_job) - jobs.append(job) + worker.create_job(jobs, service, host, hostgroup, core, period, start_date=new_start_date) instance += 1 if instance == args.instances: diff --git a/linspector/core/worker.py b/linspector/core/worker.py index bff94a9..1b04b4a 100644 --- a/linspector/core/worker.py +++ b/linspector/core/worker.py @@ -20,6 +20,7 @@ along with this program. If not, see . from logging import getLogger from multiprocessing import Process +from linspector.core.job import LinspectorJob from linspector.core.scheduler import LinspectorScheduler logger = getLogger(__name__) @@ -47,4 +48,12 @@ class LinspectorWorker(Process): return self.scheduler def shutdown(self, wait=True): - self.scheduler.shutdown(wait=wait) \ No newline at end of file + self.scheduler.shutdown(wait=wait) + + def create_job(self, jobs, service, host, hostgroup, core, period, start_date=None): + job = LinspectorJob(service, host, hostgroup.get_members(), core, hostgroup) + scheduler_job = period.createJob(self.scheduler, job, self.handle_job, start_date=start_date) + + if scheduler_job is not None: + job.set_job(scheduler_job) + jobs.append(job)