mirror of
https://gitlab.com/crafty-controller/crafty-4.git
synced 2024-08-30 18:23:09 +00:00
Fix a couple bugs with chain reactions
This commit is contained in:
parent
8b981f3f27
commit
31cb2793fd
@ -240,7 +240,9 @@ class helpers_management:
|
||||
comment=None,
|
||||
enabled=True,
|
||||
one_time=False,
|
||||
cron_string='* * * * *'):
|
||||
cron_string='* * * * *',
|
||||
parent=None,
|
||||
delay=0):
|
||||
sch_id = Schedules.insert({
|
||||
Schedules.server_id: server_id,
|
||||
Schedules.action: action,
|
||||
@ -251,7 +253,9 @@ class helpers_management:
|
||||
Schedules.command: command,
|
||||
Schedules.comment: comment,
|
||||
Schedules.one_time: one_time,
|
||||
Schedules.cron_string: cron_string
|
||||
Schedules.cron_string: cron_string,
|
||||
Schedules.parent: parent,
|
||||
Schedules.delay: delay
|
||||
|
||||
}).execute()
|
||||
return sch_id
|
||||
@ -285,6 +289,10 @@ class helpers_management:
|
||||
def get_child_schedules_by_server(schedule_id, server_id):
|
||||
return Schedules.select().where(Schedules.server_id == server_id, Schedules.parent == schedule_id).execute()
|
||||
|
||||
@staticmethod
|
||||
def get_child_schedules(schedule_id):
|
||||
return Schedules.select().where(Schedules.parent == schedule_id)
|
||||
|
||||
@staticmethod
|
||||
def get_schedules_all():
|
||||
return Schedules.select().execute()
|
||||
|
@ -232,7 +232,9 @@ class TasksManager:
|
||||
"None",
|
||||
job_data['enabled'],
|
||||
job_data['one_time'],
|
||||
job_data['cron_string'])
|
||||
job_data['cron_string'],
|
||||
job_data['parent'],
|
||||
job_data['delay'])
|
||||
#Check to see if it's enabled and is not a chain reaction.
|
||||
if job_data['enabled'] and job_data['interval_type'] != 'reaction':
|
||||
if job_data['cron_string'] != "":
|
||||
@ -301,6 +303,8 @@ class TasksManager:
|
||||
|
||||
def remove_job(self, sch_id):
|
||||
job = management_helper.get_scheduled_task_model(sch_id)
|
||||
for schedule in management_helper.get_child_schedules(sch_id):
|
||||
management_helper.update_scheduled_task(schedule.schedule_id, {'parent':None})
|
||||
management_helper.delete_scheduled_task(sch_id)
|
||||
if job.enabled and job.interval_type != 'reaction':
|
||||
self.scheduler.remove_job(str(sch_id))
|
||||
|
@ -1072,7 +1072,6 @@ class PanelHandler(BaseHandler):
|
||||
command = "restart_server"
|
||||
elif action == "backup":
|
||||
command = "backup_server"
|
||||
parent = bleach.clean(self.get_argument('parent', None))
|
||||
|
||||
else:
|
||||
interval_type = ''
|
||||
@ -1123,8 +1122,6 @@ class PanelHandler(BaseHandler):
|
||||
"interval": interval,
|
||||
"command": command,
|
||||
"start_time": sch_time,
|
||||
"parent": '',
|
||||
"delay": '',
|
||||
"enabled": enabled,
|
||||
"one_time": one_time,
|
||||
"cron_string": ''
|
||||
|
Loading…
Reference in New Issue
Block a user