mirror of
https://github.com/Pardus-LiderAhenk/ahenk
synced 2024-11-13 03:23:42 +03:00
removing executed scheduled task was removed
This commit is contained in:
parent
aa2023643f
commit
683c5f97b8
1 changed files with 17 additions and 11 deletions
|
@ -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
|
||||
|
|
Loading…
Reference in a new issue