Sentry SDK Django установить тег для события и поднять его

Вот текущая реализация, которую я имею:

from sentry_sdk import push_scope

def run():
    with push_scope() as scope:
        message = "Failed"
        scope.set_tag("custom", "tag")
        raise Exception(message)

Но согласно docs контекстный менеджер with-scope проглотит исключение, поднятое внутри. Проблема в том, что мне нужно, чтобы этот метод run действительно вызывал исключение, чтобы не посылать ответ пользователю.

Если я обработаю поток и захвачу событие sentry в менеджере контекста with-scope и подниму его позже вне менеджера контекста, то в итоге у меня будут дублирующиеся события в Sentry

from sentry_sdk import push_scope, capture_exception

def run():
    with push_scope() as scope:
        message = "Failed"
        scope.set_tag("custom", "tag")
        capture_exception(message)

    raise Exception(message)

Действительно ли это отправка двух событий в Sentry и/или есть ли лучший способ решить эту проблему, возможно, заставить Sentry игнорировать raise на данном этапе?

Вернуться на верх