[enh] Pause and start a timer

This commit is contained in:
ljf 2022-10-24 16:14:27 +02:00
parent 1cdbeef17f
commit 5d9b91af96
No known key found for this signature in database
3 changed files with 36 additions and 15 deletions

View file

@ -1290,8 +1290,8 @@ backup:
help: Show more details
action: store_true
### backup_timer_add()
add:
### backup_timer_create()
create:
action_help: Add a backup timer
api: POST /backup/timer/<name>
arguments:
@ -1382,13 +1382,26 @@ backup:
extra:
pattern: *pattern_backup_timer_name
### backup_timer_run()
run:
action_help: Run a backup timer
api: POST /backup/timer/<name>/run
### backup_timer_start()
start:
action_help: Start a backup timer
api: POST /backup/timer/<name>/start
arguments:
name:
help: Backup timer to run
help: Backup timer to start
extra:
pattern: *pattern_backup_timer_name
--now:
help: Trigger a backup immediately
action: store_true
### backup_timer_pause()
pause:
action_help: Pause a backup timer
api: POST /backup/timer/<name>/pause
arguments:
name:
help: Backup timer to pause
extra:
pattern: *pattern_backup_timer_name

View file

@ -14,7 +14,7 @@ name.en = ""
[main.main.repositories]
type = "tags"
visible = "creation"
default = "no"
default = []
[main.main.system]
type = "tags"

View file

@ -2116,10 +2116,9 @@ Group=root
self._run_service_command("stop")
self._run_service_command("disable")
def run(self, operation_logger):
def run(self):
self._load_current_values()
backup_create(
operation_logger,
name=self.entity,
description=self.description,
repositories=self.repositories,
@ -2128,7 +2127,6 @@ Group=root
)
for repository in self.repositories:
backup_repository_prune(
operation_logger,
shortname=repository,
prefix=self.entity,
keep_hourly=self.keep_hourly,
@ -2150,7 +2148,7 @@ def backup_timer_info(name):
@is_unit_operation()
def backup_timer_add(
def backup_timer_create(
operation_logger,
name=None,
description=None,
@ -2196,11 +2194,21 @@ def backup_timer_remove(operation_logger, name):
@is_unit_operation()
def backup_timer_run(operation_logger, name):
def backup_timer_start(operation_logger, name, now=False):
"""
Run a backup timer
Start a backup timer
"""
BackupTimer(name).run(operation_logger)
if now:
BackupTimer(name).run()
BackupTimer(name).start()
@is_unit_operation()
def backup_timer_pause(operation_logger, name):
"""
Pause a backup timer
"""
BackupTimer(name).stop()
#