Updated to version 3 of the apscheduler library. multiprocessing should work now but some objects are not serializable so it does not. i will fix that some day.
This commit is contained in:
parent
c3ec557cb2
commit
40cb6c8d35
8 changed files with 41 additions and 25 deletions
|
|
@ -1,6 +1,7 @@
|
|||
#!/usr/bin/python2.7 -tt
|
||||
|
||||
"""
|
||||
Copyright (c) 2014-2015 by Johannes Findeisen
|
||||
Copyright (c) 2011-2013 by Johannes Findeisen and Rafael Timmerberg
|
||||
|
||||
This file is part of Linspector (http://linspector.org).
|
||||
|
|
@ -20,9 +21,10 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|||
"""
|
||||
|
||||
|
||||
__version__ = "0.15.1/AMNESIA"
|
||||
__version__ = "0.16/AMNESIA"
|
||||
|
||||
import argparse
|
||||
import copy
|
||||
import datetime
|
||||
import logging
|
||||
import logging.handlers
|
||||
|
|
@ -33,10 +35,14 @@ import sys
|
|||
from linspector.config.parser import FullConfigParser
|
||||
from linspector.core.interface import LinspectorInterface
|
||||
from linspector.core.job import LinspectorJob
|
||||
from linspector.core.scheduler import LinspectorScheduler
|
||||
#from linspector.core.scheduler import LinspectorScheduler
|
||||
from linspector.frontends.lish import LishFrontend
|
||||
from linspector.tasks.task import TaskExecutor
|
||||
|
||||
from apscheduler.schedulers.background import BackgroundScheduler
|
||||
from apscheduler.jobstores.memory import MemoryJobStore
|
||||
from apscheduler.executors.pool import ThreadPoolExecutor, ProcessPoolExecutor
|
||||
|
||||
logger = logging.getLogger(__name__)
|
||||
|
||||
|
||||
|
|
@ -67,8 +73,8 @@ def parse_args():
|
|||
parser.add_argument("-t", "--threads", default=3500, type=int,
|
||||
help="maximum number of scheduler threads (default: 3500)")
|
||||
|
||||
parser.add_argument("-k", "--corethreads", default=0, type=int,
|
||||
help="number of scheduler core threads (default: 0)")
|
||||
parser.add_argument("-p", "--processes", default=0, type=int,
|
||||
help="number of scheduler processes (default: 0)")
|
||||
|
||||
parser.add_argument("-x", "--delay", default=1.135791, type=float,
|
||||
help="seconds delay between scheduled jobs (default: 1.135791)")
|
||||
|
|
@ -115,9 +121,18 @@ def main():
|
|||
print("Configuration error: " + str(msg) + ". Exiting now.")
|
||||
logger.error(msg)
|
||||
exit()
|
||||
|
||||
scheduler = LinspectorScheduler({"apscheduler.threadpool.core_threads": args.corethreads,
|
||||
"apscheduler.threadpool.max_threads": args.threads})
|
||||
|
||||
jobstores = {
|
||||
'memory': MemoryJobStore()
|
||||
}
|
||||
executors = {
|
||||
'default': ThreadPoolExecutor(args.threads),
|
||||
'processpool': ProcessPoolExecutor(args.processes)
|
||||
}
|
||||
job_defaults = {
|
||||
'max_instances': 10000
|
||||
}
|
||||
scheduler = BackgroundScheduler(jobstores=jobstores, executors=executors, job_defaults=job_defaults)
|
||||
|
||||
TaskExecutor.Instance()
|
||||
|
||||
|
|
@ -193,4 +208,4 @@ def main():
|
|||
|
||||
|
||||
if __name__ == "__main__":
|
||||
main()
|
||||
main()
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue