Future
는 비동기 작업의 결과를 나타냅니다.
생성되었을 때는 결과 데이터가 없을 것입니다.
작업이 끝나면 Future
가 결과를 얻습니다.
애플리케이션은 Future
객체의 get_result()
메서드를 호출할 수 있습니다. 결과가 도착하면 메서드가 이를 반환하고 그렇지 않으면 결과가 도착할 때까지 기다린 후 반환합니다.
참고: RPC와 Future 간에는 1:1 매핑이 없습니다. 단일 RPC 결과에 여러 Future가 묶여있을 수 있습니다.
인스턴스 메서드
- check_success()
- 작업이 성공했는지 확인합니다. 필요한 경우 대기합니다.
문제가 있으면 예외를 발생시킵니다. 문제가 없으면
None
을 반환합니다. - done()
- 결과(또는 예외)가 도착하면
True
를 반환하고 그렇지 않으면False
를 반환합니다. 이 함수는 대기하지 않습니다. - get_exception()
- 필요한 경우 대기합니다. 그런 다음 예외를 반환합니다(또는 예외가 없으면
None
반환). 예외를 발생시키는 것이 아니라 반환합니다. - get_result()
- 필요한 경우 대기합니다. 그런 다음 결과를 반환하거나 예외를 발생시킵니다.
- get_traceback()
- 필요한 경우 대기합니다. 그런 다음 예외의 역추적 객체를 반환합니다(또는 역추적 객체가 없으면
None
반환). Python의traceback
모듈에는 역추적 객체를 출력 및 사용하는 함수가 있습니다. - wait()
- 결과 또는 예외가 도착할 때까지 대기합니다.
항상
None
을 반환합니다.
클래스 메서드
- wait_all(futures)
- 전달된 반복 가능 항목의 모든
Futures
가 완료될 때까지 대기합니다.인수
- futures
Future
객체의 반복 가능 항목
None
반환 - wait_any(futures)
Futures
의 반복 가능 항목 중 적어도 하나가 완료될 때까지 대기합니다.인수
- futures
Future
객체의 반복 가능 항목
완료된
Future
한 개를 반환합니다.futures
반복 가능 항목이 비어 있으면None
을 반환합니다.