Just commiting old stuff... don't know what changed in logic...

This commit is contained in:
Johannes Findeisen 2022-09-25 04:36:55 +02:00
commit b7e95522d4
4 changed files with 49 additions and 41 deletions

3
.gitignore vendored
View file

@ -16,3 +16,6 @@ log
examples/private*
linspector/services/private*
NOTES.*
linspector.iml

View file

@ -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 copy
import datetime
import logging
import logging.handlers
@ -70,7 +69,7 @@ def parse_args():
parser.add_argument("-m", "--logsize", default=10485760, type=int,
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)")
parser.add_argument("-p", "--processes", default=0, type=int,
@ -96,9 +95,14 @@ def parse_args():
def handle_job(job):
print("HANDLE")
job.handle_call()
def tick(job):
print("TICK")
def main():
global lin_conf
args = parse_args()
@ -117,7 +121,7 @@ def main():
try:
config_parser = FullConfigParser()
lin_conf, core = config_parser.parse_config(args.config)
except Exception, msg:
except Exception as msg:
print("Configuration error: " + str(msg) + ". Exiting now.")
logger.error(msg)
exit()
@ -127,7 +131,7 @@ def main():
}
executors = {
'default': ThreadPoolExecutor(args.threads),
'processpool': ProcessPoolExecutor(args.processes)
#'default': ProcessPoolExecutor(args.processes)
}
job_defaults = {
'max_instances': 10000
@ -141,7 +145,7 @@ def main():
for hostgroup in layout.get_hostgroups():
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
jobs = []
@ -168,10 +172,13 @@ def main():
core,
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:
scheduler_job.misfire_grace_time = 2
#if scheduler_job is not None:
#scheduler.misfire_grace_time = 2
#print(new_start_date)
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)

View file

@ -31,9 +31,6 @@ class Period(object):
def get_name(self):
return self.name
#def createJob(self, scheduler, jobInfo, func):
# pass
class IntervalPeriod(Period):
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.comment = comment # comment
def createJob(self, scheduler, jobInfo, func, **kwargs):
start_date = self.start_date
if "start_date" in kwargs:
start_date = kwargs["start_date"]
#def createJob(self, scheduler, jobInfo, func, **kwargs):
# start_date = self.start_date
# if "start_date" in kwargs:
# start_date = kwargs["start_date"]
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")
# 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")
def __str__(self):
ret = "IntervalPeriod(Name: " + self.name + ")"
@ -79,15 +76,15 @@ class CronPeriod(Period):
ret = "CronPeriod(Name: " + self.name + ")"
return ret
def createJob(self, scheduler, jobInfo, func, **kwargs):
start_date = self.start_date
#def createJob(self, scheduler, jobInfo, func, **kwargs):
# start_date = self.start_date
if "start_date" in kwargs:
start_date = kwargs["start_date"]
# if "start_date" in kwargs:
# start_date = kwargs["start_date"]
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,
second=self.second, start_date=start_date, args=[jobInfo])
# 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,
# second=self.second, start_date=start_date, args=[jobInfo])
class DatePeriod(Period):
@ -100,14 +97,14 @@ class DatePeriod(Period):
ret = "DatePeriod(Name: " + self.name + ", " + str(self.date) + ")"
return ret
def createJob(self, scheduler, jobInfo, func, **kwargs):
try:
if "start_date" in kwargs:
earliest = kwargs["start_date"]
date = convert_to_datetime(self.date)
if date < earliest:
self.date = earliest
#def createJob(self, scheduler, jobInfo, func, **kwargs):
# try:
# if "start_date" in kwargs:
# earliest = kwargs["start_date"]
# date = convert_to_datetime(self.date)
# if date < earliest:
# self.date = earliest
return scheduler.add_job(func=func, trigger="date", date=self.date, args=[jobInfo])
except Exception, e:
logger.error("exception while creating job out of DatePeriod!\n%s" % e)
# return scheduler.add_job(func=func, trigger="date", date=self.date, args=[jobInfo])
# except Exception, e:
# logger.error("exception while creating job out of DatePeriod!\n%s" % e)

View file

@ -119,6 +119,7 @@ class LinspectorJob:
TaskExecutor.Instance().schedule_task(job_information, task)
def handle_call(self):
print("\nHANDLE CALL")
logger.debug("handle call")
logger.debug(self.service)
if self.enabled: