make sure to delete bounces, transactional emails after 7 days

This commit is contained in:
Son NK 2021-01-26 09:54:58 +01:00
parent 1013e8dd79
commit b3181c054f
2 changed files with 24 additions and 6 deletions

26
cron.py
View File

@ -45,6 +45,8 @@ from app.models import (
Contact,
CoinbaseSubscription,
Metric,
TransactionalEmail,
Bounce,
)
from server import create_app
@ -60,6 +62,22 @@ def notify_trial_end():
send_trial_end_soon_email(user)
def delete_logs():
"""delete everything that are considered logs"""
delete_refused_emails()
delete_old_monitoring()
for t in TransactionalEmail.query.filter(
TransactionalEmail.created_at < arrow.now().shift(days=-7)
):
TransactionalEmail.delete(t.id)
for b in Bounce.query.filter(Bounce.created_at < arrow.now().shift(days=-7)):
Bounce.delete(b.id)
db.session.commit()
def delete_refused_emails():
for refused_email in RefusedEmail.query.filter_by(deleted=False).all():
if arrow.now().shift(days=1) > refused_email.delete_at >= arrow.now():
@ -671,7 +689,7 @@ if __name__ == "__main__":
"notify_trial_end",
"notify_manual_subscription_end",
"notify_premium_end",
"delete_refused_emails",
"delete_logs",
"poll_apple_subscription",
"sanity_check",
"delete_old_monitoring",
@ -695,9 +713,9 @@ if __name__ == "__main__":
elif args.job == "notify_premium_end":
LOG.d("Notify users with premium ending soon")
notify_premium_end()
elif args.job == "delete_refused_emails":
LOG.d("Deleted refused emails")
delete_refused_emails()
elif args.job == "delete_logs":
LOG.d("Deleted Logs")
delete_logs()
elif args.job == "poll_apple_subscription":
LOG.d("Poll Apple Subscriptions")
poll_apple_subscription()

View File

@ -23,8 +23,8 @@ jobs:
schedule: "0 10 * * *"
captureStderr: true
- name: SimpleLogin Delete Refused Emails
command: python /code/cron.py -j delete_refused_emails
- name: SimpleLogin Delete Logs
command: python /code/cron.py -j delete_logs
shell: /bin/bash
schedule: "0 11 * * *"
captureStderr: true