class documentation

class twisted.internet.defer.DeferredList(Deferred): (source)

View In Hierarchy

DeferredList is a tool for collecting the results of several Deferreds.

This tracks a list of Deferreds for their results, and makes a single callback when they have all completed. By default, the ultimate result is a list of (success, result) tuples, 'success' being a boolean. DeferredList exposes the same API that Deferred does, so callbacks and errbacks can be added to it in the same way.

DeferredList is implemented by adding callbacks and errbacks to each Deferred in the list passed to it. This means callbacks and errbacks added to the Deferreds before they are passed to DeferredList will change the result that DeferredList sees (i.e., DeferredList is not special). Callbacks and errbacks can also be added to the Deferreds after they are passed to DeferredList and DeferredList may change the result that they see.

See the documentation for the __init__ arguments for more information.

Instance Variable fireOnOneCallback Undocumented
Instance Variable fireOnOneErrback Undocumented
Method __init__ Initialize a DeferredList.
Instance Variable resultList Undocumented
Instance Variable consumeErrors Undocumented
Instance Variable finishedCount Undocumented
Method cancel Cancel this DeferredList.
Instance Variable _deferredList The list of Deferreds to track.
Method _cbDeferred (internal) Callback for when one of my deferreds fires.

Inherited from Deferred:

Instance Variable called A flag which is False until either callback or errback is called and afterwards always True.
Instance Variable paused A counter of how many unmatched pause calls have been made on this instance.
Class Variable debug Undocumented
Instance Variable callbacks Undocumented
Method addCallbacks Add a pair of callbacks (success and error) to this Deferred.
Method addCallback Convenience method for adding just a callback.
Method addErrback Convenience method for adding just an errback.
Method addBoth Convenience method for adding a single callable as both a callback and an errback.
Method addTimeout Time out this Deferred by scheduling it to be cancelled after timeout seconds.
Method chainDeferred Chain another Deferred to this Deferred.
Method callback Run all success callbacks that have been added to this Deferred.
Method errback Run all error callbacks that have been added to this Deferred.
Method pause Stop processing on a Deferred until unpause() is called.
Method unpause Process all callbacks made since pause() was called.
Instance Variable result Undocumented
Method __str__ Return a string representation of this Deferred.
Method __iter__ Undocumented
Method send Undocumented
Method asFuture Adapt this Deferred into a asyncio.Future which is bound to loop.
Class Method fromFuture Adapt an asyncio.Future to a Deferred.
Class Method fromCoroutine Schedule the execution of a coroutine that awaits on Deferreds, wrapping it in a Deferred that will fire on success/failure of the coroutine.
Instance Variable _suppressAlreadyCalled A flag used by the cancellation mechanism which is True if the Deferred has no canceller and has been cancelled, False otherwise. If True, it can be expected that callback or errback will eventually be called and the result should be silently discarded.
Instance Variable _runningCallbacks A flag which is True while this instance is executing its callback chain, used to stop recursive execution of _runCallbacks
Instance Variable _chainedTo If this Deferred is waiting for the result of another Deferred, this is a reference to the other Deferred. Otherwise, None.
Instance Variable _debugInfo Undocumented
Instance Variable _canceller Undocumented
Method _startRunCallbacks Undocumented
Method _continuation Build a tuple of callback and errback with _CONTINUE.
Method _runCallbacks Run the chain of callbacks once a result is available.
_deferredList = (source)
The list of Deferreds to track.
fireOnOneCallback = (source)


fireOnOneErrback = (source)


def __init__(self, deferredList, fireOnOneCallback=False, fireOnOneErrback=False, consumeErrors=False): (source)

Initialize a DeferredList.

ParametersdeferredListThe list of deferreds to track. (type: list of Deferreds)
fireOnOneCallback(keyword param) a flag indicating that this DeferredList will fire when the first Deferred in deferredList fires with a non-failure result without waiting for any of the other Deferreds. When this flag is set, the DeferredList will fire with a two-tuple: the first element is the result of the Deferred which fired; the second element is the index in deferredList of that Deferred. (type: bool)
fireOnOneErrback(keyword param) a flag indicating that this DeferredList will fire when the first Deferred in deferredList fires with a failure result without waiting for any of the other Deferreds. When this flag is set, if a Deferred in the list errbacks, the DeferredList will errback with a FirstError failure wrapping the failure of that Deferred. (type: bool)
consumeErrors(keyword param) a flag indicating that failures in any of the included Deferreds should not be propagated to errbacks added to the individual Deferreds after this DeferredList is constructed. After constructing the DeferredList, any errors in the individual Deferreds will be converted to a callback result of None. This is useful to prevent spurious 'Unhandled error in Deferred' messages from being logged. This does not prevent fireOnOneErrback from working. (type: bool)
resultList = (source)


consumeErrors = (source)


finishedCount = (source)


(type: int)
def _cbDeferred(self, result, index, succeeded): (source)

(internal) Callback for when one of my deferreds fires.

def cancel(self): (source)

Cancel this DeferredList.

If the DeferredList hasn't fired yet, cancel every Deferred in the list.

If the DeferredList has fired, including the case where the fireOnOneCallback/fireOnOneErrback flag is set and the DeferredList fires because one Deferred in the list fires with a non-failure/failure result, do nothing in the cancel method.

API Documentation for Twisted, generated by pydoctor 20.12.1 at 2021-02-28 19:53:36.