From 2fc7b08909dad47e25ccc038b4672885cf73535c Mon Sep 17 00:00:00 2001 From: JonnyWong16 <9099342+JonnyWong16@users.noreply.github.com> Date: Sat, 9 Jan 2021 14:15:32 -0800 Subject: [PATCH] Add misfire grace time to scheduled tasks --- plexpy/__init__.py | 12 ++++++++---- plexpy/activity_handler.py | 3 ++- plexpy/newsletter_handler.py | 3 ++- 3 files changed, 12 insertions(+), 6 deletions(-) diff --git a/plexpy/__init__.py b/plexpy/__init__.py index 5dc671ad..139d656a 100644 --- a/plexpy/__init__.py +++ b/plexpy/__init__.py @@ -514,12 +514,16 @@ def schedule_job(func, name, hours=0, minutes=0, seconds=0, args=None): SCHED.remove_job(name) logger.info("Removed background task: %s", name) elif job.trigger.interval != datetime.timedelta(hours=hours, minutes=minutes): - SCHED.reschedule_job(name, trigger=IntervalTrigger( - hours=hours, minutes=minutes, seconds=seconds, timezone=pytz.UTC), args=args) + SCHED.reschedule_job( + name, trigger=IntervalTrigger( + hours=hours, minutes=minutes, seconds=seconds, timezone=pytz.UTC), + args=args) logger.info("Re-scheduled background task: %s", name) elif hours > 0 or minutes > 0 or seconds > 0: - SCHED.add_job(func, id=name, trigger=IntervalTrigger( - hours=hours, minutes=minutes, seconds=seconds, timezone=pytz.UTC), args=args) + SCHED.add_job( + func, id=name, trigger=IntervalTrigger( + hours=hours, minutes=minutes, seconds=seconds, timezone=pytz.UTC), + args=args, misfire_grace_time=None) logger.info("Scheduled background task: %s", name) diff --git a/plexpy/activity_handler.py b/plexpy/activity_handler.py index 11b3a2af..12861f57 100644 --- a/plexpy/activity_handler.py +++ b/plexpy/activity_handler.py @@ -606,7 +606,8 @@ def schedule_callback(id, func=None, remove_job=False, args=None, **kwargs): ACTIVITY_SCHED.add_job( func, args=args, id=id, trigger=DateTrigger( run_date=datetime.datetime.now(pytz.UTC) + datetime.timedelta(**kwargs), - timezone=pytz.UTC)) + timezone=pytz.UTC), + misfire_grace_time=None) def force_stop_stream(session_key, title, user): diff --git a/plexpy/newsletter_handler.py b/plexpy/newsletter_handler.py index 3859b764..8458e144 100644 --- a/plexpy/newsletter_handler.py +++ b/plexpy/newsletter_handler.py @@ -82,7 +82,8 @@ def schedule_newsletter_job(newsletter_job_id, name='', func=None, remove_job=Fa logger.info("Tautulli NewsletterHandler :: Re-scheduled newsletter: %s" % name) elif not remove_job: NEWSLETTER_SCHED.add_job( - func, args=args, id=newsletter_job_id, trigger=CronTrigger.from_crontab(cron)) + func, args=args, id=newsletter_job_id, trigger=CronTrigger.from_crontab(cron), + misfire_grace_time=None) logger.info("Tautulli NewsletterHandler :: Scheduled newsletter: %s" % name)