many cleanups and new docs
This commit is contained in:
parent
be1d712573
commit
88d023937f
10 changed files with 37 additions and 59 deletions
|
|
@ -34,4 +34,4 @@ class Config:
|
||||||
self.services,
|
self.services,
|
||||||
log)
|
log)
|
||||||
|
|
||||||
#self.layouts = LayoutList(self.dict['layouts'], self.hostgroups)
|
#self.layouts = LayoutList(self.dict['layouts'], self.hostgroups)
|
||||||
|
|
@ -14,4 +14,4 @@ class Filter:
|
||||||
|
|
||||||
|
|
||||||
def parseFilterList(filters):
|
def parseFilterList(filters):
|
||||||
return [Filter(name, **values) for name, values in filters.items()]
|
return [Filter(name, **values) for name, values in filters.items()]
|
||||||
|
|
@ -10,9 +10,9 @@ class Host:
|
||||||
self.comment = comment
|
self.comment = comment
|
||||||
|
|
||||||
def __str__(self):
|
def __str__(self):
|
||||||
ret = "Host('Name: " + self.name + "', 'access: " + self.host + "', "
|
ret = "Host('Name: " + self.name + "', 'Access: " + self.host + "', "
|
||||||
if self.parent != "":
|
if self.parent != "":
|
||||||
ret += "'parent: " + self.parent + "', "
|
ret += "'Parent: " + self.parent + "', "
|
||||||
ret += "'HostServices: {"
|
ret += "'HostServices: {"
|
||||||
for s in self.services:
|
for s in self.services:
|
||||||
ret += str(s) + "\n"
|
ret += str(s) + "\n"
|
||||||
|
|
|
||||||
|
|
@ -18,8 +18,8 @@ class Member:
|
||||||
|
|
||||||
|
|
||||||
class MemberFilter:
|
class MemberFilter:
|
||||||
def __init__(self, filt, Value):
|
def __init__(self, filter, Value):
|
||||||
self.filt = filt
|
self.filter = filter
|
||||||
self.value = Value
|
self.value = Value
|
||||||
|
|
||||||
def __str__(self):
|
def __str__(self):
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,3 @@
|
||||||
from apscheduler.scheduler import Scheduler
|
|
||||||
|
|
||||||
|
|
||||||
class Period(object):
|
class Period(object):
|
||||||
def __init__(self, name):
|
def __init__(self, name):
|
||||||
self.name = name
|
self.name = name
|
||||||
|
|
@ -13,8 +10,7 @@ class Period(object):
|
||||||
|
|
||||||
|
|
||||||
class IntervalPeriod(Period):
|
class IntervalPeriod(Period):
|
||||||
def __init__(self, name="", weeks=0,days=0, hours=0, minutes=0, seconds=0, start_date=None,
|
def __init__(self, name="", weeks=0, days=0, hours=0, minutes=0, seconds=0, start_date=None, comment=None):
|
||||||
comment=None):
|
|
||||||
super(IntervalPeriod, self).__init__(name)
|
super(IntervalPeriod, self).__init__(name)
|
||||||
|
|
||||||
self.days = days # number of days to wait
|
self.days = days # number of days to wait
|
||||||
|
|
@ -26,18 +22,17 @@ class IntervalPeriod(Period):
|
||||||
self.comment = comment # comment
|
self.comment = comment # comment
|
||||||
|
|
||||||
def createJob(self, scheduler, jobInfo, func):
|
def createJob(self, scheduler, jobInfo, func):
|
||||||
return scheduler.add_interval_job(func, weeks=self.weeks, hours=self.hours, minutes=self.minutes, seconds=self.seconds, start_date=self.start_date, args=[jobInfo])
|
return scheduler.add_interval_job(func, weeks=self.weeks, hours=self.hours, minutes=self.minutes,
|
||||||
|
seconds=self.seconds, start_date=self.start_date, args=[jobInfo])
|
||||||
|
|
||||||
def __str__(self):
|
def __str__(self):
|
||||||
ret = "IntervalPeriod(Name: " + self.name + ")"
|
ret = "IntervalPeriod(Name: " + self.name + ")"
|
||||||
return ret
|
return ret
|
||||||
|
|
||||||
|
|
||||||
class CronPeriod(Period):
|
class CronPeriod(Period):
|
||||||
def __init__(self, name="", year="*", month="*", day="*", week="*",
|
def __init__(self, name="", year="*", month="*", day="*", week="*", day_of_week="*", hour="*", minute="*",
|
||||||
day_of_week="*", hour="*", minute="*", second="0", start_date=None,
|
second="0", start_date=None, comment=None):
|
||||||
comment=None):
|
|
||||||
super(CronPeriod, self).__init__(name)
|
super(CronPeriod, self).__init__(name)
|
||||||
self.year = year # 4-digit year number
|
self.year = year # 4-digit year number
|
||||||
self.month = month # month number (1-12)
|
self.month = month # month number (1-12)
|
||||||
|
|
@ -50,13 +45,14 @@ class CronPeriod(Period):
|
||||||
self.start_date = start_date
|
self.start_date = start_date
|
||||||
self.comment = comment
|
self.comment = comment
|
||||||
|
|
||||||
|
|
||||||
def __str__(self):
|
def __str__(self):
|
||||||
ret = "CronPeriod(Name: " + self.name + ")"
|
ret = "CronPeriod(Name: " + self.name + ")"
|
||||||
return ret
|
return ret
|
||||||
|
|
||||||
def createJob(self, scheduler, jobInfo, func):
|
def createJob(self, scheduler, jobInfo, func):
|
||||||
return scheduler.add_cron_job(func, 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=self.start_date, args=[jobInfo])
|
return scheduler.add_cron_job(func, 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=self.start_date, args=[jobInfo])
|
||||||
|
|
||||||
|
|
||||||
class DatePeriod(Period):
|
class DatePeriod(Period):
|
||||||
|
|
@ -66,25 +62,22 @@ class DatePeriod(Period):
|
||||||
self.comment = comment
|
self.comment = comment
|
||||||
|
|
||||||
def __str__(self):
|
def __str__(self):
|
||||||
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):
|
def createJob(self, scheduler, jobInfo, func):
|
||||||
return scheduler.add_date_job(func, self.date, [jobInfo])
|
return scheduler.add_date_job(func, self.date, [jobInfo])
|
||||||
|
|
||||||
|
|
||||||
|
def parsePeriodList(periodlist, log):
|
||||||
|
periods = []
|
||||||
|
|
||||||
def parsePeriodList(periodlist,log):
|
|
||||||
periods=[]
|
|
||||||
log.i(periodlist)
|
log.i(periodlist)
|
||||||
for name, values in periodlist.items():
|
for name, values in periodlist.items():
|
||||||
if "date" in values:
|
if "date" in values:
|
||||||
periods.append(DatePeriod(name, **values))
|
periods.append(DatePeriod(name, **values))
|
||||||
continue
|
continue
|
||||||
|
|
||||||
for i in [ "weeks","days", "hours", "minutes", "seconds", "start_date"]:
|
for i in ["weeks", "days", "hours", "minutes", "seconds", "start_date"]:
|
||||||
if i in values:
|
if i in values:
|
||||||
periods.append(IntervalPeriod(name, **values))
|
periods.append(IntervalPeriod(name, **values))
|
||||||
break
|
break
|
||||||
|
|
@ -94,9 +87,7 @@ def parsePeriodList(periodlist,log):
|
||||||
periods.append(CronPeriod(name, **values))
|
periods.append(CronPeriod(name, **values))
|
||||||
break
|
break
|
||||||
|
|
||||||
log.w("ignoring Period: " +str(name))
|
log.w("ignoring Period: " + str(name))
|
||||||
log.w("reason: could not determine PeriodType: " + str(values))
|
log.w("reason: could not determine PeriodType: " + str(values))
|
||||||
|
|
||||||
|
|
||||||
return periods
|
|
||||||
|
|
||||||
|
return periods
|
||||||
|
|
@ -8,7 +8,7 @@ class Command:
|
||||||
self.error = ""
|
self.error = ""
|
||||||
|
|
||||||
def __str__(self):
|
def __str__(self):
|
||||||
return command
|
return self.command
|
||||||
|
|
||||||
def hasProcessed(self):
|
def hasProcessed(self):
|
||||||
return self.output != "" and self.error != ""
|
return self.output != "" and self.error != ""
|
||||||
|
|
@ -25,4 +25,4 @@ class Command:
|
||||||
def getError(self):
|
def getError(self):
|
||||||
if not self.hasProcessed():
|
if not self.hasProcessed():
|
||||||
self.doProcess()
|
self.doProcess()
|
||||||
return self.error
|
return self.error
|
||||||
|
|
@ -20,8 +20,4 @@ class JobInfo:
|
||||||
self.log = log
|
self.log = log
|
||||||
|
|
||||||
def handleCall(self):
|
def handleCall(self):
|
||||||
pass
|
pass
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -56,6 +56,4 @@ class Logger():
|
||||||
self.log.critical(message)
|
self.log.critical(message)
|
||||||
|
|
||||||
def close(self):
|
def close(self):
|
||||||
logging.shutdown()
|
logging.shutdown()
|
||||||
|
|
||||||
|
|
||||||
17
linspector
17
linspector
|
|
@ -1,11 +1,10 @@
|
||||||
#!/usr/bin/python2.7 -tt
|
#!/usr/bin/python2.7 -tt
|
||||||
|
|
||||||
VERSION = "0.1.1/TETRIS"
|
VERSION = "0.2/TETRIS"
|
||||||
import argparse
|
import argparse
|
||||||
from lib.core.job import JobInfo
|
from lib.core.job import JobInfo
|
||||||
from lib.core.logger import Logger
|
from lib.core.logger import Logger
|
||||||
from lib.config.config import Config
|
from lib.config.config import Config
|
||||||
from lib.config.periods import Period
|
|
||||||
from apscheduler.scheduler import Scheduler
|
from apscheduler.scheduler import Scheduler
|
||||||
import time
|
import time
|
||||||
import logging
|
import logging
|
||||||
|
|
@ -45,6 +44,7 @@ def handleJob(jobInfo):
|
||||||
jobInfo.handleCall()
|
jobInfo.handleCall()
|
||||||
print str(jobInfo)
|
print str(jobInfo)
|
||||||
|
|
||||||
|
|
||||||
def main():
|
def main():
|
||||||
args = parseArgs()
|
args = parseArgs()
|
||||||
log = Logger(args.logfile, args.loglevel)
|
log = Logger(args.logfile, args.loglevel)
|
||||||
|
|
@ -75,17 +75,10 @@ def main():
|
||||||
try:
|
try:
|
||||||
time.sleep(10)
|
time.sleep(10)
|
||||||
for job in jobs:
|
for job in jobs:
|
||||||
log.d(str(job))
|
log.d(str(job))
|
||||||
|
|
||||||
except:
|
except:
|
||||||
print "error"
|
print "error"
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
elif args.action == "stop":
|
elif args.action == "stop":
|
||||||
log.i("stopping linspector is currently unsupported")
|
log.i("stopping linspector is currently unsupported")
|
||||||
elif args.action == "restart":
|
elif args.action == "restart":
|
||||||
|
|
@ -99,4 +92,4 @@ def main():
|
||||||
|
|
||||||
|
|
||||||
if __name__ == "__main__":
|
if __name__ == "__main__":
|
||||||
main()
|
main()
|
||||||
|
|
@ -148,19 +148,19 @@
|
||||||
"hour": "*",
|
"hour": "*",
|
||||||
"minute": "*/1",
|
"minute": "*/1",
|
||||||
"second": "0",
|
"second": "0",
|
||||||
"comment": "Cron Job"
|
"comment": "Cron Job / Every minute"
|
||||||
},
|
},
|
||||||
"do_every_x_times" : {
|
"do_every_x_times" : {
|
||||||
"days": 0,
|
"days": 0,
|
||||||
"weeks": 0,
|
"weeks": 0,
|
||||||
"hours": 0,
|
"hours": 0,
|
||||||
"minutes": 5,
|
"minutes": 0,
|
||||||
"seconds": 0,
|
"seconds": 10,
|
||||||
"comment": "Interval Job"
|
"comment": "Interval Job / Every 10 seconds"
|
||||||
},
|
},
|
||||||
"next_christmas" : {
|
"next_christmas" : {
|
||||||
"date": "2013-12-24 20:00:00",
|
"date": "2013-12-24 20:00:00",
|
||||||
"comment": "Date Job"
|
"comment": "Date Job / Just one day"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"hosts":
|
"hosts":
|
||||||
|
|
@ -214,8 +214,8 @@
|
||||||
"services":
|
"services":
|
||||||
{
|
{
|
||||||
"load": ["twentyfourseven"],
|
"load": ["twentyfourseven"],
|
||||||
"discusage":["do_every_x_times"],
|
"discusage":["twentyfourseven"],
|
||||||
"ping": ["twentyfourseven"]
|
"ping": ["do_every_x_times"]
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue