|
6 | 6 | from collections.abc import Callable |
7 | 7 | from typing import Any |
8 | 8 |
|
9 | | -from django.dispatch.dispatcher import NO_RECEIVERS, Signal |
| 9 | +from django.dispatch.dispatcher import Signal |
10 | 10 |
|
11 | 11 | from sentry.utils.env import in_test_environment |
12 | 12 |
|
@@ -79,32 +79,12 @@ def wrapped(func): |
79 | 79 | wrapped.__doc__ = receiver.__doc__ |
80 | 80 | return wrapped(receiver) |
81 | 81 |
|
82 | | - def send_robust(self, sender, **named) -> list[tuple[Receiver, Exception | Any]]: |
83 | | - """ |
84 | | - A reimplementation of send_robust which logs failures, thus recovering stacktraces. |
85 | | - """ |
86 | | - responses: list[tuple[Receiver, Exception | Any]] = [] |
87 | | - if not self.receivers or self.sender_receivers_cache.get(sender) is NO_RECEIVERS: |
88 | | - return responses |
89 | | - |
90 | | - # Call each receiver with whatever arguments it can accept. |
91 | | - # Return a list of tuple pairs [(receiver, response), ... ]. |
92 | | - for receiver in self._live_receivers(sender): |
93 | | - try: |
94 | | - response = receiver(signal=self, sender=sender, **named) |
95 | | - except Exception as err: |
96 | | - if in_test_environment(): |
97 | | - if ( |
98 | | - _receivers_that_raise is _AllReceivers.ALL |
99 | | - or receiver in _receivers_that_raise |
100 | | - ): |
101 | | - raise |
102 | | - |
103 | | - logging.exception("signal.failure", extra={"receiver": repr(receiver)}) |
104 | | - responses.append((receiver, err)) |
105 | | - else: |
106 | | - responses.append((receiver, response)) |
107 | | - return responses |
| 82 | + def _log_robust_failure(self, receiver: object, err: Exception) -> None: |
| 83 | + if in_test_environment(): |
| 84 | + if _receivers_that_raise is _AllReceivers.ALL or receiver in _receivers_that_raise: |
| 85 | + raise |
| 86 | + |
| 87 | + logging.error("signal.failure", extra={"receiver": repr(receiver)}, exc_info=err) |
108 | 88 |
|
109 | 89 |
|
110 | 90 | buffer_incr_complete = BetterSignal() # ["model", "columns", "extra", "result"] |
|
0 commit comments