MCPcopy
hub / github.com/scrapy/scrapy / send_catch_log_async

Function send_catch_log_async

scrapy/utils/signal.py:141–163  ·  scrapy/utils/signal.py::send_catch_log_async

Like :func:`send_catch_log` but supports :ref:`asynchronous signal handlers <signal-deferred>`. Returns a coroutine that completes once all signal handlers have finished. .. versionadded:: 2.14

(
    signal: TypingAny = Any,
    sender: TypingAny = Anonymous,
    *arguments: TypingAny,
    **named: TypingAny,
)

Source from the content-addressed store, hash-verified

139
140
141async def send_catch_log_async(
142 signal: TypingAny = Any,
143 sender: TypingAny = Anonymous,
144 *arguments: TypingAny,
145 **named: TypingAny,
146) -> list[tuple[TypingAny, TypingAny]]:
147 class="st">"""Like :func:`send_catch_log` but supports :ref:`asynchronous signal handlers
148 <signal-deferred>`.
149
150 Returns a coroutine that completes once all signal handlers have finished.
151
152 .. versionadded:: 2.14
153 class="st">"""
154 class="cm"># note that this returns exceptions instead of Failures in the second tuple member
155 if is_asyncio_available():
156 return await _send_catch_log_asyncio(signal, sender, *arguments, **named)
157 results = await maybe_deferred_to_future(
158 _send_catch_log_deferred(signal, sender, *arguments, **named)
159 )
160 return [
161 (receiver, result.value if isinstance(result, Failure) else result)
162 for receiver, result in results
163 ]
164
165
166async def _send_catch_log_asyncio(

Callers 1

_get_resultMethod · 0.90

Calls 4

is_asyncio_availableFunction · 0.90
maybe_deferred_to_futureFunction · 0.90
_send_catch_log_asyncioFunction · 0.85
_send_catch_log_deferredFunction · 0.85

Tested by 1

_get_resultMethod · 0.72