(
receiver: Callable[..., Any],
)
| 187 | for receiver in liveReceivers(getAllReceivers(sender, signal)): |
| 188 | |
| 189 | async def handler( |
| 190 | receiver: Callable[..., Any], |
| 191 | ) -> tuple[Callable[..., Any], TypingAny]: |
| 192 | result: TypingAny |
| 193 | try: |
| 194 | result = await ensure_awaitable( |
| 195 | robustApply( |
| 196 | receiver, *arguments, signal=signal, sender=sender, **named |
| 197 | ), |
| 198 | _warn=global_object_name(receiver), |
| 199 | ) |
| 200 | except dont_log as ex: # pylint: disable=catching-non-exception |
| 201 | result = ex |
| 202 | except Exception as ex: |
| 203 | logger.error( |
| 204 | "Error caught on signal handler: %(receiver)s", |
| 205 | {"receiver": receiver}, |
| 206 | exc_info=True, |
| 207 | extra={"spider": spider}, |
| 208 | ) |
| 209 | result = ex |
| 210 | return (receiver, result) |
| 211 | |
| 212 | handlers.append(handler(receiver)) |
| 213 |
no test coverage detected