Un Future
rappresenta il risultato di un'operazione asincrona.
Una volta creato, probabilmente non dispone di dati sui risultati.
Al termine dell'operazione, Future
ottiene il risultato.
Un'applicazione può chiamare il metodo get_result()
di un oggetto Future
; se il risultato è arrivato, il metodo lo restituisce; in caso contrario, attende l'arrivo del risultato e poi lo restituisce.
Nota:non esiste una mappatura 1:1 tra RPC e Future. Potrebbero essere associati più future a un risultato da una singola RPC.
Metodi di istanza
- check_success()
- Verifica se l'operazione è riuscita. Attende se necessario.
Genera un'eccezione in caso di problemi; restituisce
None
se non si è verificato alcun problema. - done()
- restituisce
True
se è arrivato il risultato (o un'eccezione); in caso contrario, restituisceFalse
. Questa funzione non attende. - get_exception()
- Attende se necessario, poi restituisce l'eccezione (o
None
in assenza di eccezioni). restituisce l'eccezione, ma non la genera. - get_result()
- Attende se necessario, poi restituisce il risultato o genera l'eccezione.
- get_traceback()
- Attende se necessario, quindi restituisce l'oggetto tracciaback dell'eccezione (o
None
se non era presente alcun oggetto tracciaback). Il modulotraceback
di Python include funzioni per stampare e lavorare con gli oggetti di tracciamento. - wait()
- Attende che arrivi un risultato o un'eccezione.
Restituisce sempre
None
.
Metodi delle classi
- wait_all(futures)
- Attendi fino al completamento di tutte le
Futures
nell'iterazione superata.Argomenti
- futures
- Iterabile di
Future
oggetti.
Restituisce
None
. - wait_any(futures)
- Attendi il completamento di almeno una delle iterazioni di
Futures
.Argomenti
- futures
- Iterabile di
Future
oggetti.
Restituisce un
Future
che è stato completato. (restituisceNone
se l'iterabilefutures
è vuoto).