diff --git a/selfprivacy_api/services/__init__.py b/selfprivacy_api/services/__init__.py index 31db233..59614af 100644 --- a/selfprivacy_api/services/__init__.py +++ b/selfprivacy_api/services/__init__.py @@ -14,6 +14,7 @@ from functools import lru_cache from shutil import copyfile, copytree, rmtree +from selfprivacy_api.jobs import Job, JobStatus, Jobs from selfprivacy_api.services.prometheus import Prometheus from selfprivacy_api.services.mailserver import MailServer @@ -240,7 +241,12 @@ class ServiceManager(Service): copyfile(cls.stash_for(p), p) @classmethod - def pre_backup(cls): + def pre_backup(cls, job: Job): + Jobs.update( + job, + status_text="Stashing settings", + status=JobStatus.RUNNING, + ) tempdir = cls.dump_dir() rmtree(join(tempdir), ignore_errors=True) makedirs(tempdir) @@ -249,7 +255,7 @@ class ServiceManager(Service): cls.stash_a_path(p) @classmethod - def post_backup(cls): + def post_backup(cls, job: Job): rmtree(cls.dump_dir(), ignore_errors=True) @classmethod diff --git a/selfprivacy_api/services/templated_service.py b/selfprivacy_api/services/templated_service.py index 346e1eb..9eeee67 100644 --- a/selfprivacy_api/services/templated_service.py +++ b/selfprivacy_api/services/templated_service.py @@ -456,12 +456,11 @@ class TemplatedService(Service): mkdir(db_dumps_folder) # Dump the databases for db_name in self.get_postgresql_databases(): - if job is not None: - Jobs.update( - job, - status_text=f"Creating a dump of database {db_name}", - status=JobStatus.RUNNING, - ) + Jobs.update( + job, + status_text=f"Creating a dump of database {db_name}", + status=JobStatus.RUNNING, + ) db_dumper = PostgresDumper(db_name) backup_file = join(db_dumps_folder, f"{db_name}.dump") db_dumper.backup_database(backup_file) @@ -500,12 +499,11 @@ class TemplatedService(Service): db_dumps_folder = self._get_db_dumps_folder() for db_name in self.get_postgresql_databases(): if exists(join(db_dumps_folder, f"{db_name}.dump")): - if job is not None: - Jobs.update( - job, - status_text=f"Restoring database {db_name}", - status=JobStatus.RUNNING, - ) + Jobs.update( + job, + status_text=f"Restoring database {db_name}", + status=JobStatus.RUNNING, + ) db_dumper = PostgresDumper(db_name) backup_file = join(db_dumps_folder, f"{db_name}.dump") db_dumper.restore_database(backup_file)