From 653005bb3b75da0dda5d34ef4337206782f7ab54 Mon Sep 17 00:00:00 2001 From: Bavisetti Narayan <72156168+NarayanBavisetti@users.noreply.github.com> Date: Mon, 6 May 2024 15:19:03 +0530 Subject: [PATCH] [WEB-1206] chore: bulk delete api logs (#4374) * chore: bulk delete api logs * chore: deletion time change --- apiserver/plane/bgtasks/api_logs_task.py | 15 +++++++++++++++ apiserver/plane/celery.py | 4 ++++ apiserver/plane/settings/common.py | 1 + 3 files changed, 20 insertions(+) create mode 100644 apiserver/plane/bgtasks/api_logs_task.py diff --git a/apiserver/plane/bgtasks/api_logs_task.py b/apiserver/plane/bgtasks/api_logs_task.py new file mode 100644 index 000000000..038b939d5 --- /dev/null +++ b/apiserver/plane/bgtasks/api_logs_task.py @@ -0,0 +1,15 @@ +from django.utils import timezone +from datetime import timedelta +from plane.db.models import APIActivityLog +from celery import shared_task + + +@shared_task +def delete_api_logs(): + # Get the logs older than 30 days to delete + logs_to_delete = APIActivityLog.objects.filter( + created_at__lte=timezone.now() - timedelta(days=30) + ) + + # Delete the logs + logs_to_delete._raw_delete(logs_to_delete.db) diff --git a/apiserver/plane/celery.py b/apiserver/plane/celery.py index 056dfb16b..d3e742f14 100644 --- a/apiserver/plane/celery.py +++ b/apiserver/plane/celery.py @@ -32,6 +32,10 @@ app.conf.beat_schedule = { "task": "plane.bgtasks.email_notification_task.stack_email_notification", "schedule": crontab(minute="*/5"), }, + "check-every-day-to-delete-api-logs": { + "task": "plane.bgtasks.api_logs_task.delete_api_logs", + "schedule": crontab(hour=0, minute=0), + }, } # Load task modules from all registered Django app configs. diff --git a/apiserver/plane/settings/common.py b/apiserver/plane/settings/common.py index 06c6778d9..5a99f06ef 100644 --- a/apiserver/plane/settings/common.py +++ b/apiserver/plane/settings/common.py @@ -293,6 +293,7 @@ CELERY_IMPORTS = ( "plane.bgtasks.exporter_expired_task", "plane.bgtasks.file_asset_task", "plane.bgtasks.email_notification_task", + "plane.bgtasks.api_logs_task", # management tasks "plane.bgtasks.dummy_data_task", )