From f825917c9dc2d15b0e02e2d8b9bae007ce64b55d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Louis=20V=C3=A9zina?= <5130500+morpheus65535@users.noreply.github.com> Date: Thu, 31 Oct 2019 13:46:05 -0400 Subject: [PATCH] Added failed tasks status management. --- bazarr/scheduler.py | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/bazarr/scheduler.py b/bazarr/scheduler.py index 9b35077fb..4fc64431b 100644 --- a/bazarr/scheduler.py +++ b/bazarr/scheduler.py @@ -15,7 +15,7 @@ from apscheduler.schedulers.background import BackgroundScheduler from apscheduler.triggers.interval import IntervalTrigger from apscheduler.triggers.cron import CronTrigger from apscheduler.triggers.date import DateTrigger -from apscheduler.events import EVENT_JOB_SUBMITTED, EVENT_JOB_EXECUTED +from apscheduler.events import EVENT_JOB_SUBMITTED, EVENT_JOB_EXECUTED, EVENT_JOB_ERROR from datetime import datetime import pytz from tzlocal import get_localzone @@ -72,14 +72,18 @@ global running_tasks running_tasks = [] -def task_listener(event): - if event.job_id in running_tasks: - running_tasks.remove(event.job_id) - else: +def task_listener_add(event): + if event.job_id not in running_tasks: running_tasks.append(event.job_id) -scheduler.add_listener(task_listener, EVENT_JOB_SUBMITTED | EVENT_JOB_EXECUTED) +def task_listener_remove(event): + if event.job_id in running_tasks: + running_tasks.remove(event.job_id) + + +scheduler.add_listener(task_listener_add, EVENT_JOB_SUBMITTED) +scheduler.add_listener(task_listener_remove, EVENT_JOB_EXECUTED | EVENT_JOB_ERROR) def schedule_update_job():