Bump APScheduler to >=3.0
This patch upgrades zuul to support APScheduler 3.0. For the most part, 3.0 was a rewrite but our changes seem to be limited. Change-Id: I0c66b5998122c3f59ed06e3e7b3ab3199f94f478 Signed-off-by: Paul Belanger <pabelanger@redhat.com>
This commit is contained in:
parent
13cb40c3a0
commit
1a4ad06770
@ -12,7 +12,7 @@ extras
|
||||
statsd>=1.0.0,<3.0
|
||||
voluptuous>=0.7
|
||||
gear>=0.5.7,<1.0.0
|
||||
apscheduler>=2.1.1,<3.0
|
||||
apscheduler>=3.0
|
||||
PrettyTable>=0.6,<0.8
|
||||
babel>=1.0
|
||||
six>=1.6.0
|
||||
|
@ -13,7 +13,8 @@
|
||||
# License for the specific language governing permissions and limitations
|
||||
# under the License.
|
||||
|
||||
import apscheduler.scheduler
|
||||
from apscheduler.schedulers.background import BackgroundScheduler
|
||||
from apscheduler.triggers.cron import CronTrigger
|
||||
import logging
|
||||
import voluptuous as v
|
||||
from zuul.model import EventFilter, TriggerEvent
|
||||
@ -26,7 +27,7 @@ class TimerTrigger(BaseTrigger):
|
||||
|
||||
def __init__(self, trigger_config={}, sched=None, connection=None):
|
||||
super(TimerTrigger, self).__init__(trigger_config, sched, connection)
|
||||
self.apsched = apscheduler.scheduler.Scheduler()
|
||||
self.apsched = BackgroundScheduler()
|
||||
self.apsched.start()
|
||||
|
||||
def _onTrigger(self, pipeline_name, timespec):
|
||||
@ -62,7 +63,7 @@ class TimerTrigger(BaseTrigger):
|
||||
|
||||
def postConfig(self):
|
||||
for job in self.apsched.get_jobs():
|
||||
self.apsched.unschedule_job(job)
|
||||
job.remove()
|
||||
for pipeline in self.sched.layout.pipelines.values():
|
||||
for ef in pipeline.manager.event_filters:
|
||||
if ef.trigger != self:
|
||||
@ -81,14 +82,11 @@ class TimerTrigger(BaseTrigger):
|
||||
second = parts[5]
|
||||
else:
|
||||
second = None
|
||||
self.apsched.add_cron_job(self._onTrigger,
|
||||
day=dom,
|
||||
day_of_week=dow,
|
||||
hour=hour,
|
||||
minute=minute,
|
||||
second=second,
|
||||
args=(pipeline.name,
|
||||
timespec,))
|
||||
trigger = CronTrigger(day=dom, day_of_week=dow, hour=hour,
|
||||
minute=minute, second=second)
|
||||
|
||||
self.apsched.add_job(self._onTrigger, trigger=trigger,
|
||||
args=(pipeline.name, timespec,))
|
||||
|
||||
|
||||
def getSchema():
|
||||
|
Loading…
x
Reference in New Issue
Block a user