From 219248568252e7291f20105ce589c87c5a85f433 Mon Sep 17 00:00:00 2001 From: Frederick Muriuki Muriithi Date: Thu, 2 Jun 2022 11:12:38 +0300 Subject: Expire the jobs in 14 days by default --- qc_app/jobs.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to 'qc_app/jobs.py') diff --git a/qc_app/jobs.py b/qc_app/jobs.py index 4d3dba6..e97d175 100644 --- a/qc_app/jobs.py +++ b/qc_app/jobs.py @@ -2,13 +2,16 @@ import os import shlex import subprocess from uuid import uuid4 +from datetime import timedelta from redis import Redis def error_filename(job_id, error_dir): return f"{error_dir}/job_{job_id}.error" -def launch_job(redis_conn: Redis, filepath, filetype, redisurl, error_dir): +def launch_job( + redis_conn: Redis, filepath: str, filetype, redisurl, error_dir, + ttl_seconds: int): """Launch a job in the background""" job_id = str(uuid4()) command = [ @@ -18,6 +21,7 @@ def launch_job(redis_conn: Redis, filepath, filetype, redisurl, error_dir): "filename": os.path.basename(filepath), "percent": 0 } redis_conn.hset(name=job["job_id"], mapping=job) + redis_conn.expire(name=job["job_id"], time=timedelta(seconds=ttl_seconds)) if not os.path.exists(error_dir): os.mkdir(error_dir) -- cgit v1.2.3