feat: add nix-collect-garbage job

This commit is contained in:
def 2022-11-24 06:08:58 +04:00
parent e130d37033
commit 13d3261d36

View file

@ -0,0 +1,32 @@
import re
import subprocess
from selfprivacy_api.jobs import Job, JobStatus, Jobs
from selfprivacy_api.utils.huey import huey
@huey.task()
def nix_collect_garbage(job: Job):
Jobs.update(
job=job,
status=JobStatus.RUNNING,
progress=0,
status_text="Start cleaning.",
)
output = subprocess.check_output("nix-collect-garbage -d")
pat = re.compile(r"linking saves ([+-]?\d+\.\d+ \w+).+?([+-]?\d+\.\d+ \w+) freed")
match = re.search(
pat,
output,
)
Jobs.update(
job=job,
status=JobStatus.FINISHED,
progress=100,
status_text="Сleaning completed.",
result=f"Currently hard linking saves {match.group(1)}, {match.group(2)} freed",
)