diff --git a/engine/apps/email/tests/test_inbound_email.py b/engine/apps/email/tests/test_inbound_email.py index 64a4792c..91951139 100644 --- a/engine/apps/email/tests/test_inbound_email.py +++ b/engine/apps/email/tests/test_inbound_email.py @@ -1,4 +1,5 @@ import json + import pytest from django.urls import reverse from rest_framework import status diff --git a/engine/apps/telegram/tasks.py b/engine/apps/telegram/tasks.py index 1c160562..f2fbabb0 100644 --- a/engine/apps/telegram/tasks.py +++ b/engine/apps/telegram/tasks.py @@ -226,8 +226,19 @@ def on_alert_group_action_triggered_async(log_record_id): from .alert_group_representative import AlertGroupTelegramRepresentative logger.info(f"AlertGroupTelegramRepresentative ACTION SIGNAL, log record {log_record_id}") - - log_record = AlertGroupLogRecord.objects.get(pk=log_record_id) + # temporary solution to handle cases when alert group and related log records were deleted + try: + log_record = AlertGroupLogRecord.objects.get(pk=log_record_id) + except AlertGroupLogRecord.DoesNotExist as e: + retries_count = on_alert_group_action_triggered_async.request.retries + if retries_count >= 10: + logger.error( + f"AlertGroupTelegramRepresentative: was not able to get AlertGroupLogRecord, probably alert group " + f"was deleted. log record {log_record_id}, retries: {retries_count}" + ) + return + else: + raise e instance = AlertGroupTelegramRepresentative(log_record) if instance.is_applicable():