From d0741baf449181b52defef3e19664020d244a444 Mon Sep 17 00:00:00 2001 From: Aleksey Lobanov Date: Thu, 7 Jan 2021 22:39:44 +0300 Subject: [PATCH] feat: Add remover for old tasks --- remove_old_tasks.py | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) create mode 100644 remove_old_tasks.py diff --git a/remove_old_tasks.py b/remove_old_tasks.py new file mode 100644 index 0000000..8158829 --- /dev/null +++ b/remove_old_tasks.py @@ -0,0 +1,29 @@ +import datetime +import logging + +from src.db import AnalyzeTask, TaskStatus, DBSession +from src.settings import MESSAGE_TTL, init_logging + + +REMOVE_MULTIPLIER = 3 + + +def main(): + session = DBSession() + count = ( + session.query(AnalyzeTask) + .filter( + AnalyzeTask.status == TaskStatus.InQueue, + AnalyzeTask.created_at + REMOVE_MULTIPLIER * MESSAGE_TTL + < datetime.datetime.now().timestamp(), + ) + .delete() + ) + session.commit() + session.close() + logging.info(f"deleted {count} old in_queue tasks") + + +if __name__ == "__main__": + init_logging() + main()