multiprocessing stuff, a lot of small improvements. has many bugs actually
This commit is contained in:
parent
259c6ee0f0
commit
1cdaec5441
2 changed files with 8 additions and 12 deletions
|
|
@ -20,7 +20,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
"""
|
"""
|
||||||
|
|
||||||
|
|
||||||
__version__ = "0.15.1/AMNESIA"
|
__version__ = "0.15.2/AMNESIA"
|
||||||
|
|
||||||
import argparse
|
import argparse
|
||||||
import datetime
|
import datetime
|
||||||
|
|
@ -130,10 +130,6 @@ def main():
|
||||||
process = LinspectorWorker(name, args.corethreads, args.threads)
|
process = LinspectorWorker(name, args.corethreads, args.threads)
|
||||||
workers.append(process)
|
workers.append(process)
|
||||||
process.daemon = True
|
process.daemon = True
|
||||||
#process.start()
|
|
||||||
|
|
||||||
for worker in workers:
|
|
||||||
print "RESULT is %s" % worker.get_scheduler_name()
|
|
||||||
|
|
||||||
start_date = datetime.datetime.now()
|
start_date = datetime.datetime.now()
|
||||||
time_delta = 0
|
time_delta = 0
|
||||||
|
|
@ -166,13 +162,14 @@ def main():
|
||||||
if instance == args.instances:
|
if instance == args.instances:
|
||||||
instance = 0
|
instance = 0
|
||||||
|
|
||||||
|
schedulers = []
|
||||||
for worker in workers:
|
for worker in workers:
|
||||||
|
schedulers.append(worker.get_scheduler())
|
||||||
worker.start()
|
worker.start()
|
||||||
|
|
||||||
print("\nScheduled " + str(job_count) + " jobs")
|
print("\nScheduled " + str(job_count) + " jobs")
|
||||||
|
|
||||||
#TODO: add a list of workers and not only the last one; just a hack to make it run for testing
|
interface = LinspectorInterface(jobs, schedulers, lin_conf, root_logger, __version__)
|
||||||
interface = LinspectorInterface(jobs, worker.get_scheduler(), lin_conf, root_logger, __version__)
|
|
||||||
|
|
||||||
if "jsonrpc_backend" in core and core["jsonrpc_backend"]:
|
if "jsonrpc_backend" in core and core["jsonrpc_backend"]:
|
||||||
from linspector.backends.jsonrpc import JsonrpcBackend
|
from linspector.backends.jsonrpc import JsonrpcBackend
|
||||||
|
|
|
||||||
|
|
@ -36,17 +36,17 @@ class LinspectorWorker(Process):
|
||||||
|
|
||||||
self.scheduler = LinspectorScheduler({"apscheduler.threadpool.core_threads": self.core_threads,
|
self.scheduler = LinspectorScheduler({"apscheduler.threadpool.core_threads": self.core_threads,
|
||||||
"apscheduler.threadpool.max_threads": self.max_threads})
|
"apscheduler.threadpool.max_threads": self.max_threads})
|
||||||
|
|
||||||
self.scheduler.standalone = True
|
self.scheduler.standalone = True
|
||||||
|
|
||||||
def run(self):
|
def run(self):
|
||||||
self.scheduler.start()
|
self.scheduler.start()
|
||||||
|
|
||||||
def handle_job(self, job):
|
@staticmethod
|
||||||
|
def handle_job(job):
|
||||||
job.handle_call()
|
job.handle_call()
|
||||||
|
|
||||||
def get_scheduler_name(self):
|
def get_name(self):
|
||||||
return "Process returned %s" % self.name + " " + str(self.scheduler)
|
return self.name
|
||||||
|
|
||||||
def get_scheduler(self):
|
def get_scheduler(self):
|
||||||
return self.scheduler
|
return self.scheduler
|
||||||
|
|
@ -57,7 +57,6 @@ class LinspectorWorker(Process):
|
||||||
def create_job(self, jobs, service, host, hostgroup, core, period, start_date=None):
|
def create_job(self, jobs, service, host, hostgroup, core, period, start_date=None):
|
||||||
job = LinspectorJob(service, host, hostgroup.get_members(), core, hostgroup)
|
job = LinspectorJob(service, host, hostgroup.get_members(), core, hostgroup)
|
||||||
scheduler_job = period.createJob(self.scheduler, job, self.handle_job, start_date=start_date)
|
scheduler_job = period.createJob(self.scheduler, job, self.handle_job, start_date=start_date)
|
||||||
|
|
||||||
if scheduler_job is not None:
|
if scheduler_job is not None:
|
||||||
job.set_job(scheduler_job)
|
job.set_job(scheduler_job)
|
||||||
jobs.append(job)
|
jobs.append(job)
|
||||||
Loading…
Add table
Add a link
Reference in a new issue