Disable misfire grace time of apscheduler job

Default grace time is 1s which might not be enough when the scheduler is
under high load. By setting this to None we ensures that we don't miss a
trigger event.

Change-Id: Ib928f11b4edb553dc031c6cef15742d07872bb68
This commit is contained in:
Simon Westphahl 2020-02-14 15:08:38 +01:00
parent d48be299ab
commit 528b1eea8f
1 changed files with 7 additions and 1 deletions

View File

@ -93,9 +93,15 @@ class TimerDriver(Driver, TriggerInterface):
pipeline.name)
continue
# The 'misfire_grace_time' argument is set to None to
# disable checking if the job missed its run time window.
# This ensures we don't miss a trigger when the job is
# delayed due to e.g. high scheduler load. Those short
# delays are not a problem for our trigger use-case.
job = self.apsched.add_job(
self._onTrigger, trigger=trigger,
args=(tenant, pipeline.name, timespec,))
args=(tenant, pipeline.name, timespec,),
misfire_grace_time=None)
jobs.append(job)
def _onTrigger(self, tenant, pipeline_name, timespec):