A Future represents the result of an
asynchronous operation.
When created, it probably doesn't have any result data.
When the operation finishes, the Future gets the result.
An application can call a Future object's
get_result() method; if the result has arrived, the
method returns it; otherwise, it waits for the result to arrive and
then returns it.
Note: There is no 1:1 mapping between RPCs and Futures. Multiple futures might be tied to a result from a single RPC.
Instance Methods
- check_success()
- Check to see if the operation succeeded. Waits if necessary.
Raises an exception if there was a problem; returns
Noneif there was no problem. - done()
- Returns
Trueif the result (or exception) has arrived; otherwise, returnsFalse. This function does not wait. - get_exception()
- Waits if necessary; then returns the exception (or
Noneif there was no exception). Returns the exception, doesn't raise it. - get_result()
- Waits if necessary; then returns the result or raises the exception.
- get_traceback()
- Waits if necessary; then returns the exception's traceback
object (or
Noneif there was no traceback object). Python'stracebackmodule has functions to print and work with traceback objects. - wait()
- Waits until a result or exception arrives.
Always returns
None.
Class Methods
- wait_all(futures)
- Wait until all
Futuresin the passed iterable are done.Arguments
- futures
- Iterable of
Futureobjects.
Returns
None. - wait_any(futures)
- Wait until at least one of a iterable of
Futuresis done.Arguments
- futures
- Iterable of
Futureobjects.
Returns one
Futurethat is done. (ReturnsNoneif thefuturesiterable is empty.)