From 8626c5e2323fb8092e3fcbfa88d8b7afe5df2914 Mon Sep 17 00:00:00 2001 From: Son NK <> Date: Mon, 17 Aug 2020 14:02:59 +0200 Subject: [PATCH] add cronjob to delete old monitoring records --- cron.py | 15 +++++++++++++++ crontab.yml | 6 ++++++ 2 files changed, 21 insertions(+) diff --git a/cron.py b/cron.py index 3aa4205b..c1759d7a 100644 --- a/cron.py +++ b/cron.py @@ -32,6 +32,7 @@ from app.models import ( RefusedEmail, AppleSubscription, Mailbox, + Monitoring, ) from server import create_app @@ -312,6 +313,16 @@ def sanity_check(): LOG.d("Finish sanity check") +def delete_old_monitoring(): + """ + Delete old monitoring records + """ + max_time = arrow.now().shift(days=-30) + nb_row = Monitoring.query.filter(Monitoring.created_at < max_time).delete() + db.session.commit() + LOG.d("delete monitoring records older than %s, nb row %s", max_time, nb_row) + + if __name__ == "__main__": LOG.d("Start running cronjob") parser = argparse.ArgumentParser() @@ -328,6 +339,7 @@ if __name__ == "__main__": "delete_refused_emails", "poll_apple_subscription", "sanity_check", + "delete_old_monitoring", ], ) args = parser.parse_args() @@ -356,3 +368,6 @@ if __name__ == "__main__": elif args.job == "sanity_check": LOG.d("Check data consistency") sanity_check() + elif args.job == "delete_old_monitoring": + LOG.d("Delete old monitoring records") + delete_old_monitoring() diff --git a/crontab.yml b/crontab.yml index c85d5db4..f2461814 100644 --- a/crontab.yml +++ b/crontab.yml @@ -41,3 +41,9 @@ jobs: schedule: "0 2 * * *" captureStderr: true + - name: SimpleLogin Delete Old Monitoring records + command: python /code/cron.py -j delete_old_monitoring + shell: /bin/bash + schedule: "0 14 * * *" + captureStderr: true +