sort by date and delete task results

This commit is contained in:
simon 2023-03-02 14:43:05 +07:00
parent 666074ed49
commit 5617d1c7ae
No known key found for this signature in database
GPG Key ID: 2C15AA5E89985DD4
2 changed files with 14 additions and 1 deletions

View File

@ -182,3 +182,13 @@ class TaskRedis(RedisBase):
if expire:
self.conn.execute_command("EXPIRE", key, self.EXPIRE)
def del_task(self, task_id):
"""delete task result by id"""
self.conn.execute_command("DEL", f"{self.BASE}{task_id}")
def del_all(self):
"""delete all task results"""
all_tasks = self.get_all()
for task_id in all_tasks:
self.del_task(task_id)

View File

@ -17,7 +17,9 @@ class TaskManager:
if not all_keys:
return False
return [handler.get_single(i) for i in all_keys]
all_results = [handler.get_single(i) for i in all_keys]
return sorted(all_results, key=lambda d: d["date_done"])
def get_tasks_by_name(self, task_name):
"""get all tasks by name"""
@ -40,6 +42,7 @@ class TaskManager:
"status": "PENDING",
"result": None,
"traceback": None,
"date_done": False,
"name": task.name,
"task_id": task.request.id,
}