Finish porting the workers over to apscheduler 3.0

This commit is contained in:
Jake Moshenko 2014-08-01 18:38:02 -04:00
parent 09917ff062
commit 0aa6e92b02
3 changed files with 16 additions and 36 deletions

View file

@ -4,7 +4,7 @@ import signal
import sys
from threading import Event, Lock
from apscheduler.schedulers.blocking import BlockingScheduler
from apscheduler.schedulers.background import BackgroundScheduler
from datetime import datetime, timedelta
from BaseHTTPServer import HTTPServer, BaseHTTPRequestHandler
from threading import Thread
@ -64,7 +64,7 @@ class WorkerStatusHandler(BaseHTTPRequestHandler):
class Worker(object):
def __init__(self, queue, poll_period_seconds=30, reservation_seconds=300,
watchdog_period_seconds=60):
self._sched = BlockingScheduler()
self._sched = BackgroundScheduler()
self._poll_period_seconds = poll_period_seconds
self._reservation_seconds = reservation_seconds
self._watchdog_period_seconds = watchdog_period_seconds
@ -166,10 +166,10 @@ class Worker(object):
soon = datetime.now() + timedelta(seconds=.001)
self._sched.start()
self._sched.add_interval_job(self.poll_queue, seconds=self._poll_period_seconds,
start_date=soon)
self._sched.add_interval_job(self.update_queue_metrics, seconds=60, start_date=soon)
self._sched.add_interval_job(self.run_watchdog, seconds=self._watchdog_period_seconds)
self._sched.add_job(self.poll_queue, 'interval', seconds=self._poll_period_seconds,
start_date=soon)
self._sched.add_job(self.update_queue_metrics, 'interval', seconds=60, start_date=soon)
self._sched.add_job(self.run_watchdog, 'interval', seconds=self._watchdog_period_seconds)
signal.signal(signal.SIGTERM, self.terminate)
signal.signal(signal.SIGINT, self.terminate)