Mantenha tudo organizado com as coleções
Salve e categorize o conteúdo com base nas suas preferências.
Um Future representa o resultado de uma operação assíncrona.
Quando criado, ele provavelmente não tem dados de resultado.
Quando a operação termina, o Future recebe o resultado.
Um aplicativo pode chamar o método get_result() de um objeto Future. Se o resultado tiver chegado, o método vai retorná-lo. Do contrário, ele aguarda a chegada do resultado e depois o retorna.
Observação: não há mapeamento 1:1 entre RPCs e Futures. Vários futures podem estar vinculados a um resultado de uma única RPC.
Métodos de instância
check_success()
Verifica se a operação foi bem-sucedida. Aguarda, se necessário.
Gera uma exceção quando há um problema. Caso contrário, retorna None.
done()
Retorna True se o resultado (ou a exceção) tiver chegado. Do contrário, retorna False. Essa função não aguarda.
get_exception()
Aguarda, se necessário. Em seguida, retorna a exceção (ou None caso não haja exceção). Retorna a exceção. Não a gera.
get_result()
Aguarda, se necessário. Em seguida, retorna o resultado ou gera a exceção.
get_traceback()
Aguarda, se necessário. Em seguida, retorna o objeto traceback da exceção (ou None caso não haja objeto traceback).
O módulo
traceback
do Python tem funções para imprimir e trabalhar com objetos traceback.
wait()
Aguarda até um resultado ou uma exceção chegar.
O retorno é sempre None.
Métodos de classe
wait_all(futures)
Aguarda a conclusão de todos os Futures no iterável passado.
Argumentos
futures
Iterável de objetos Future.
Retorna None.
wait_any(futures)
Aguarda a conclusão de pelo menos um dos iteráveis de Futures.
Argumentos
futures
Iterável de objetos Future.
Retorna um Future concluído.
(Retorna None se o iterável futures estiver vazio.)