diff --git a/engine/apps/alerts/tasks/send_update_log_report_signal.py b/engine/apps/alerts/tasks/send_update_log_report_signal.py index 8d40efab..a59ad75c 100644 --- a/engine/apps/alerts/tasks/send_update_log_report_signal.py +++ b/engine/apps/alerts/tasks/send_update_log_report_signal.py @@ -7,7 +7,7 @@ from .task_logger import task_logger @shared_dedicated_queue_retry_task( - autoretry_for=(Exception,), retry_backoff=True, max_retries=1 if settings.DEBUG else None + autoretry_for=(Exception,), retry_backoff=True, max_retries=1 if settings.DEBUG else 10 ) def send_update_log_report_signal(log_record_pk=None, alert_group_pk=None): from apps.alerts.models import AlertGroup, AlertReceiveChannel diff --git a/engine/apps/telegram/tasks.py b/engine/apps/telegram/tasks.py index f2fbabb0..d6fa1bec 100644 --- a/engine/apps/telegram/tasks.py +++ b/engine/apps/telegram/tasks.py @@ -184,8 +184,14 @@ def on_create_alert_telegram_representative_async(self, alert_pk): """ It's async in order to prevent Telegram downtime or formatting issues causing delay with SMS and other destinations. """ - - alert = Alert.objects.get(pk=alert_pk) + try: + alert = Alert.objects.get(pk=alert_pk) + except Alert.DoesNotExist as e: + if on_create_alert_telegram_representative_async.request.retries >= 10: + logger.error(f"Alert {alert_pk} was not found. Probably it was deleted. Stop retrying") + return + else: + raise e alert_group = alert.group alert_group_messages = alert_group.telegram_messages.filter(