From 716f8e9e5cf07fb086c7015538af9767629a4909 Mon Sep 17 00:00:00 2001 From: "sentry-autofix[bot]" <157164994+sentry-autofix[bot]@users.noreply.github.com> Date: Fri, 18 Apr 2025 15:52:14 +0000 Subject: [PATCH 1/2] fix: improve logging in cron_send_reminders command --- .../commands/cron_send_reminders.py | 19 +++++++++++++++---- 1 file changed, 15 insertions(+), 4 deletions(-) diff --git a/website/management/commands/cron_send_reminders.py b/website/management/commands/cron_send_reminders.py index 631bd14a62..1a1808089c 100644 --- a/website/management/commands/cron_send_reminders.py +++ b/website/management/commands/cron_send_reminders.py @@ -1,4 +1,5 @@ import logging +import os import random import time from datetime import time as dt_time @@ -12,10 +13,6 @@ from website.models import ReminderSettings, UserProfile logger = logging.getLogger(__name__) -handler = logging.FileHandler("logs/reminder_emails.log") -handler.setFormatter(logging.Formatter("%(asctime)s - %(levelname)s - %(message)s")) -logger.addHandler(handler) -logger.setLevel(logging.INFO) def batch(iterable, size): @@ -26,8 +23,19 @@ def batch(iterable, size): class Command(LoggedBaseCommand): help = "Sends daily check-in reminders to users who haven't checked in today" + + def setup_logging(self): + logs_dir = os.path.join(settings.BASE_DIR, 'logs') + os.makedirs(logs_dir, exist_ok=True) + log_file = os.path.join(logs_dir, 'reminder_emails.log') + handler = logging.FileHandler(log_file) + handler.setFormatter(logging.Formatter("%(asctime)s - %(levelname)s - %(message)s")) + logger.addHandler(handler) + logger.setLevel(logging.INFO) + return handler def handle(self, *args, **options): + handler = self.setup_logging() try: now = timezone.now() logger.info(f"Starting reminder process at {now} (UTC)") @@ -143,3 +151,6 @@ def handle(self, *args, **options): except Exception as e: logger.error(f"Critical error in reminder process: {str(e)}") raise + finally: + logger.removeHandler(handler) + handler.close() From d581c4bcc6fd49d1ca1bcc97aae6c10ce8978b43 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Tue, 22 Apr 2025 20:33:40 +0000 Subject: [PATCH 2/2] Apply pre-commit fixes --- website/management/commands/cron_send_reminders.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/website/management/commands/cron_send_reminders.py b/website/management/commands/cron_send_reminders.py index 1a1808089c..0c43326623 100644 --- a/website/management/commands/cron_send_reminders.py +++ b/website/management/commands/cron_send_reminders.py @@ -23,11 +23,11 @@ def batch(iterable, size): class Command(LoggedBaseCommand): help = "Sends daily check-in reminders to users who haven't checked in today" - + def setup_logging(self): - logs_dir = os.path.join(settings.BASE_DIR, 'logs') + logs_dir = os.path.join(settings.BASE_DIR, "logs") os.makedirs(logs_dir, exist_ok=True) - log_file = os.path.join(logs_dir, 'reminder_emails.log') + log_file = os.path.join(logs_dir, "reminder_emails.log") handler = logging.FileHandler(log_file) handler.setFormatter(logging.Formatter("%(asctime)s - %(levelname)s - %(message)s")) logger.addHandler(handler)