Just commiting old stuff... don't know what changed in logic...
This commit is contained in:
parent
57c1a45e91
commit
b7e95522d4
4 changed files with 49 additions and 41 deletions
5
.gitignore
vendored
5
.gitignore
vendored
|
|
@ -15,4 +15,7 @@ log
|
||||||
|
|
||||||
examples/private*
|
examples/private*
|
||||||
linspector/services/private*
|
linspector/services/private*
|
||||||
NOTES.*
|
NOTES.*
|
||||||
|
|
||||||
|
linspector.iml
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -21,10 +21,9 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
"""
|
"""
|
||||||
|
|
||||||
|
|
||||||
__version__ = "0.16/AMNESIA"
|
__version__ = "0.17"
|
||||||
|
|
||||||
import argparse
|
import argparse
|
||||||
import copy
|
|
||||||
import datetime
|
import datetime
|
||||||
import logging
|
import logging
|
||||||
import logging.handlers
|
import logging.handlers
|
||||||
|
|
@ -70,7 +69,7 @@ def parse_args():
|
||||||
parser.add_argument("-m", "--logsize", default=10485760, type=int,
|
parser.add_argument("-m", "--logsize", default=10485760, type=int,
|
||||||
help="maximum logfile size in bytes (default: 10485760)")
|
help="maximum logfile size in bytes (default: 10485760)")
|
||||||
|
|
||||||
parser.add_argument("-t", "--threads", default=3500, type=int,
|
parser.add_argument("-t", "--threads", default=20, type=int,
|
||||||
help="maximum number of scheduler threads (default: 3500)")
|
help="maximum number of scheduler threads (default: 3500)")
|
||||||
|
|
||||||
parser.add_argument("-p", "--processes", default=0, type=int,
|
parser.add_argument("-p", "--processes", default=0, type=int,
|
||||||
|
|
@ -96,9 +95,14 @@ def parse_args():
|
||||||
|
|
||||||
|
|
||||||
def handle_job(job):
|
def handle_job(job):
|
||||||
|
print("HANDLE")
|
||||||
job.handle_call()
|
job.handle_call()
|
||||||
|
|
||||||
|
|
||||||
|
def tick(job):
|
||||||
|
print("TICK")
|
||||||
|
|
||||||
|
|
||||||
def main():
|
def main():
|
||||||
global lin_conf
|
global lin_conf
|
||||||
args = parse_args()
|
args = parse_args()
|
||||||
|
|
@ -117,17 +121,17 @@ def main():
|
||||||
try:
|
try:
|
||||||
config_parser = FullConfigParser()
|
config_parser = FullConfigParser()
|
||||||
lin_conf, core = config_parser.parse_config(args.config)
|
lin_conf, core = config_parser.parse_config(args.config)
|
||||||
except Exception, msg:
|
except Exception as msg:
|
||||||
print("Configuration error: " + str(msg) + ". Exiting now.")
|
print("Configuration error: " + str(msg) + ". Exiting now.")
|
||||||
logger.error(msg)
|
logger.error(msg)
|
||||||
exit()
|
exit()
|
||||||
|
|
||||||
jobstores = {
|
jobstores = {
|
||||||
'memory': MemoryJobStore()
|
'memory': MemoryJobStore()
|
||||||
}
|
}
|
||||||
executors = {
|
executors = {
|
||||||
'default': ThreadPoolExecutor(args.threads),
|
'default': ThreadPoolExecutor(args.threads),
|
||||||
'processpool': ProcessPoolExecutor(args.processes)
|
#'default': ProcessPoolExecutor(args.processes)
|
||||||
}
|
}
|
||||||
job_defaults = {
|
job_defaults = {
|
||||||
'max_instances': 10000
|
'max_instances': 10000
|
||||||
|
|
@ -141,7 +145,7 @@ def main():
|
||||||
for hostgroup in layout.get_hostgroups():
|
for hostgroup in layout.get_hostgroups():
|
||||||
job_count += (hostgroup.get_services().__len__() * hostgroup.get_hosts().__len__())
|
job_count += (hostgroup.get_services().__len__() * hostgroup.get_hosts().__len__())
|
||||||
|
|
||||||
start_date = datetime.datetime.now() + datetime.timedelta(seconds=30)
|
start_date = datetime.datetime.now()# + datetime.timedelta(seconds=1)
|
||||||
|
|
||||||
time_delta = 0
|
time_delta = 0
|
||||||
jobs = []
|
jobs = []
|
||||||
|
|
@ -168,12 +172,15 @@ def main():
|
||||||
core,
|
core,
|
||||||
hostgroup)
|
hostgroup)
|
||||||
|
|
||||||
scheduler_job = period.createJob(scheduler, job, handle_job, start_date=new_start_date)
|
#scheduler_job = period.createJob(scheduler, job, handle_job, start_date=new_start_date)
|
||||||
|
|
||||||
if scheduler_job is not None:
|
#if scheduler_job is not None:
|
||||||
scheduler_job.misfire_grace_time = 2
|
#scheduler.misfire_grace_time = 2
|
||||||
job.set_job(scheduler_job)
|
#print(new_start_date)
|
||||||
jobs.append(job)
|
scheduler_job = scheduler.add_job(tick, 'interval', start_date=new_start_date, seconds=3, timezone="CET", args=[job])
|
||||||
|
#print(scheduler_job)
|
||||||
|
job.set_job(scheduler_job)
|
||||||
|
jobs.append(job)
|
||||||
|
|
||||||
print("\nStarting Scheduler...")
|
print("\nStarting Scheduler...")
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -30,10 +30,7 @@ class Period(object):
|
||||||
|
|
||||||
def get_name(self):
|
def get_name(self):
|
||||||
return self.name
|
return self.name
|
||||||
|
|
||||||
#def createJob(self, scheduler, jobInfo, func):
|
|
||||||
# pass
|
|
||||||
|
|
||||||
|
|
||||||
class IntervalPeriod(Period):
|
class IntervalPeriod(Period):
|
||||||
def __init__(self, name="", weeks=0, days=0, hours=0, minutes=0, seconds=0, start_date=None, comment=None):
|
def __init__(self, name="", weeks=0, days=0, hours=0, minutes=0, seconds=0, start_date=None, comment=None):
|
||||||
|
|
@ -47,13 +44,13 @@ class IntervalPeriod(Period):
|
||||||
self.start_date = start_date # when to first execute
|
self.start_date = start_date # when to first execute
|
||||||
self.comment = comment # comment
|
self.comment = comment # comment
|
||||||
|
|
||||||
def createJob(self, scheduler, jobInfo, func, **kwargs):
|
#def createJob(self, scheduler, jobInfo, func, **kwargs):
|
||||||
start_date = self.start_date
|
# start_date = self.start_date
|
||||||
if "start_date" in kwargs:
|
# if "start_date" in kwargs:
|
||||||
start_date = kwargs["start_date"]
|
# start_date = kwargs["start_date"]
|
||||||
|
|
||||||
return scheduler.add_job(func, trigger="interval", weeks=self.weeks, hours=self.hours, minutes=self.minutes,
|
# return scheduler.add_job(func, trigger="interval", weeks=self.weeks, hours=self.hours, minutes=self.minutes,
|
||||||
seconds=self.seconds, start_date=start_date, args=[jobInfo], timezone="CET")
|
# seconds=self.seconds, start_date=start_date, args=[jobInfo], timezone="CET")
|
||||||
|
|
||||||
def __str__(self):
|
def __str__(self):
|
||||||
ret = "IntervalPeriod(Name: " + self.name + ")"
|
ret = "IntervalPeriod(Name: " + self.name + ")"
|
||||||
|
|
@ -79,15 +76,15 @@ class CronPeriod(Period):
|
||||||
ret = "CronPeriod(Name: " + self.name + ")"
|
ret = "CronPeriod(Name: " + self.name + ")"
|
||||||
return ret
|
return ret
|
||||||
|
|
||||||
def createJob(self, scheduler, jobInfo, func, **kwargs):
|
#def createJob(self, scheduler, jobInfo, func, **kwargs):
|
||||||
start_date = self.start_date
|
# start_date = self.start_date
|
||||||
|
|
||||||
if "start_date" in kwargs:
|
# if "start_date" in kwargs:
|
||||||
start_date = kwargs["start_date"]
|
# start_date = kwargs["start_date"]
|
||||||
|
|
||||||
return scheduler.add_job(func, trigger="cron", year=self.year, month=self.month, day=self.day, week=self.week,
|
# return scheduler.add_job(func, trigger="cron", year=self.year, month=self.month, day=self.day, week=self.week,
|
||||||
day_of_week=self.day_of_week, hour=self.hour, minute=self.minute,
|
# day_of_week=self.day_of_week, hour=self.hour, minute=self.minute,
|
||||||
second=self.second, start_date=start_date, args=[jobInfo])
|
# second=self.second, start_date=start_date, args=[jobInfo])
|
||||||
|
|
||||||
|
|
||||||
class DatePeriod(Period):
|
class DatePeriod(Period):
|
||||||
|
|
@ -100,14 +97,14 @@ class DatePeriod(Period):
|
||||||
ret = "DatePeriod(Name: " + self.name + ", " + str(self.date) + ")"
|
ret = "DatePeriod(Name: " + self.name + ", " + str(self.date) + ")"
|
||||||
return ret
|
return ret
|
||||||
|
|
||||||
def createJob(self, scheduler, jobInfo, func, **kwargs):
|
#def createJob(self, scheduler, jobInfo, func, **kwargs):
|
||||||
try:
|
# try:
|
||||||
if "start_date" in kwargs:
|
# if "start_date" in kwargs:
|
||||||
earliest = kwargs["start_date"]
|
# earliest = kwargs["start_date"]
|
||||||
date = convert_to_datetime(self.date)
|
# date = convert_to_datetime(self.date)
|
||||||
if date < earliest:
|
# if date < earliest:
|
||||||
self.date = earliest
|
# self.date = earliest
|
||||||
|
|
||||||
return scheduler.add_job(func=func, trigger="date", date=self.date, args=[jobInfo])
|
# return scheduler.add_job(func=func, trigger="date", date=self.date, args=[jobInfo])
|
||||||
except Exception, e:
|
# except Exception, e:
|
||||||
logger.error("exception while creating job out of DatePeriod!\n%s" % e)
|
# logger.error("exception while creating job out of DatePeriod!\n%s" % e)
|
||||||
|
|
|
||||||
|
|
@ -119,6 +119,7 @@ class LinspectorJob:
|
||||||
TaskExecutor.Instance().schedule_task(job_information, task)
|
TaskExecutor.Instance().schedule_task(job_information, task)
|
||||||
|
|
||||||
def handle_call(self):
|
def handle_call(self):
|
||||||
|
print("\nHANDLE CALL")
|
||||||
logger.debug("handle call")
|
logger.debug("handle call")
|
||||||
logger.debug(self.service)
|
logger.debug(self.service)
|
||||||
if self.enabled:
|
if self.enabled:
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue