removing executed scheduled task was removed

This commit is contained in:
Volkan Şahin 2016-08-10 12:35:38 +03:00
parent aa2023643f
commit 683c5f97b8

View file

@ -6,10 +6,10 @@ from base.scheduler.custom.all_match import AllMatch
from base.Scope import Scope
# TODO Need logs
class ScheduleTaskJob(object):
def __init__(self, task):
scope = Scope.getInstance()
self.logger = scope.getLogger()
self.task_manager = scope.getTaskManager()
self.plugin_manager = scope.getPluginManager()
@ -25,17 +25,21 @@ class ScheduleTaskJob(object):
self.action = self.process_task
self.logger.debug('[ScheduleTaskJob] Instance created.')
except Exception as e:
self.logger.error('[ScheduleTaskJob] A problem occurred while creating instance of ScheduleTaskJob. Error Message : {}'.format(str(e)))
self.logger.error(
'[ScheduleTaskJob] A problem occurred while creating instance of ScheduleTaskJob. Error Message : {0}'.format(
str(e)))
def process_task(self):
try:
self.logger.debug('[ScheduleTaskJob] Running scheduled task now...')
self.plugin_manager.process_task(self.task)
self.logger.debug('[ScheduleTaskJob] Scheduled Task was executed.')
if self.is_single_shot():
Scope.getInstance().get_scheduler().remove_job(self.task.get_id())
# There is no any single shot task
# if self.is_single_shot():
# Scope.getInstance().get_scheduler().remove_job(self.task.get_id())
except Exception as e:
self.logger.error('[ScheduleTaskJob] A problem occurred while running scheduled task. Error Message: {}'.format(str(e)))
self.logger.error(
'[ScheduleTaskJob] A problem occurred while running scheduled task. Error Message: {0}'.format(str(e)))
def parse_cron_str(self, cron_str):
self.logger.debug('[ScheduleTaskJob] Parsing cron string...')
@ -69,7 +73,8 @@ class ScheduleTaskJob(object):
count = count + 1
return cron_sj
except Exception as e:
self.logger.error('[ScheduleTaskJob] A problem occurred while parsing cron expression. Error Message: {}'.format(str(e)))
self.logger.error(
'[ScheduleTaskJob] A problem occurred while parsing cron expression. Error Message: {}'.format(str(e)))
def conv_to_set(self, obj):
self.logger.debug('[ScheduleTaskJob] Converting {} to set'.format(str(obj)))
@ -81,14 +86,15 @@ class ScheduleTaskJob(object):
return obj
def is_single_shot(self):
if '*' in self.task.cron_str:
return True
else:
return False
# def is_single_shot(self):
# if '*' in self.task.cron_str:
# return True
# else:
# return False
def matchtime(self, t):
"""Return True if this event should trigger at the specified datetime"""
return ((t.minute in self.mins) and
(t.hour in self.hours) and
(t.day in self.days) and