저수준 API 색인

이 페이지는 모든 저수준 asyncio API를 나열합니다.

이벤트 루프 얻기

asyncio.get_running_loop()

실행 중인 이벤트 루프를 가져오는 데 선호되는 함수.

asyncio.get_event_loop()

이벤트 루프 인스턴스를 가져옵니다 (현재 또는 정책을 통해).

asyncio.set_event_loop()

현재 정책을 통해 현재 이벤트 루프를 설정합니다.

asyncio.new_event_loop()

새 이벤트 루프를 만듭니다.

예제

이벤트 루프 메서드

이벤트 루프 메서드에 관한 주 설명서 절도 참조하십시오.

수명주기

loop.run_until_complete()

완료할 때까지 퓨처/태스크/어웨이터블을 실행합니다.

loop.run_forever()

이벤트 루프를 영원히 실행합니다.

loop.stop()

이벤트 루프를 중지합니다.

loop.close()

이벤트 루프를 닫습니다.

loop.is_running()

이벤트 루프가 실행 중이면 True를 반환합니다.

loop.is_closed()

이벤트 루프가 닫혔으면 True를 반환합니다.

await loop.shutdown_asyncgens()

비동기 제너레이터를 닫습니다.

디버깅

loop.set_debug()

디버그 모드를 활성화 또는 비활성화합니다.

loop.get_debug()

현재의 디버그 모드를 얻습니다.

콜백 예약하기

loop.call_soon()

콜백을 곧 호출합니다.

loop.call_soon_threadsafe()

스레드 안전한 loop.call_soon()의 변형입니다.

loop.call_later()

주어진 시간 에 콜백을 호출합니다.

loop.call_at()

주어진 시간 콜백을 호출합니다.

스레드/프로세스 풀

await loop.run_in_executor()

concurrent.futures 실행기에서 CPU-병목이나 다른 블로킹 함수를 실행합니다.

loop.set_default_executor()

loop.run_in_executor()의 기본 실행기를 설정합니다.

태스크와 퓨처

loop.create_future()

Future 객체를 만듭니다.

loop.create_task()

코루틴을 Task로 예약합니다.

loop.set_task_factory()

loop.create_task()태스크를 만드는데 사용하는 팩토리를 설정합니다.

loop.get_task_factory()

loop.create_task()태스크를 만드는데 사용하는 팩토리를 얻습니다.

DNS

await loop.getaddrinfo()

socket.getaddrinfo()의 비동기 버전.

await loop.getnameinfo()

socket.getnameinfo()의 비동기 버전.

네트워킹과 IPC

await loop.create_connection()

TCP 연결을 엽니다.

await loop.create_server()

TCP 서버를 만듭니다.

await loop.create_unix_connection()

유닉스 소켓 연결을 엽니다.

await loop.create_unix_server()

Unix 소켓 서버를 만듭니다.

await loop.connect_accepted_socket()

socket(transport, protocol) 쌍으로 감쌉니다.

await loop.create_datagram_endpoint()

데이터 그램 (UDP) 연결을 엽니다.

await loop.sendfile()

트랜스포트를 통해 파일을 보냅니다.

await loop.start_tls()

기존 연결을 TLS로 업그레이드합니다.

await loop.connect_read_pipe()

파이프의 읽기 끝을 (transport, protocol) 쌍으로 감쌉니다.

await loop.connect_write_pipe()

파이프의 쓰기 끝을 (transport, protocol) 쌍으로 감쌉니다.

소켓

await loop.sock_recv()

socket에서 데이터를 수신합니다.

await loop.sock_recv_into()

socket에서 데이터를 버퍼로 수신합니다.

await loop.sock_sendall()

데이터를 socket으로 보냅니다.

await loop.sock_connect()

socket을 연결합니다.

await loop.sock_accept()

socket 연결을 수락합니다.

await loop.sock_sendfile()

socket를 통해 파일을 보냅니다.

loop.add_reader()

파일 기술자가 읽기 가능한지 관찰하기 시작합니다.

loop.remove_reader()

파일 기술자가 읽기 가능한지 관찰하는 것을 중단합니다.

loop.add_writer()

파일 기술자가 쓰기 가능한지 관찰하기 시작합니다.

loop.remove_writer()

파일 기술자가 쓰기 가능한지 관찰하는 것을 중단합니다.

유닉스 시그널

loop.add_signal_handler()

signal에 대한 처리기를 추가합니다.

loop.remove_signal_handler()

signal에 대한 처리기를 제거합니다.

서브 프로세스

loop.subprocess_exec()

서브 프로세스를 스폰합니다.

loop.subprocess_shell()

셸 명령으로 서브 프로세스를 스폰합니다.

에러 처리

loop.call_exception_handler()

예외 처리기를 호출합니다.

loop.set_exception_handler()

새로운 예외 처리기를 설정합니다.

loop.get_exception_handler()

현재 예외 처리기를 가져옵니다.

loop.default_exception_handler()

기본 예외 처리기 구현.

예제

트랜스포트

모든 트랜스포트는 다음과 같은 메서드를 구현합니다:

transport.close()

트랜스포트를 닫습니다.

transport.is_closing()

트랜스포트가 닫히고 있거나 닫혔으면 True를 반환합니다.

transport.get_extra_info()

트랜스포트에 대한 정보를 요청합니다.

transport.set_protocol()

새 프로토콜을 설정합니다.

transport.get_protocol()

현재 프로토콜을 돌려줍니다.

데이터를 받을 수 있는 트랜스포트 (TCP 및 유닉스 연결, 파이프 등). loop.create_connection(), loop.create_unix_connection(), loop.connect_read_pipe() 등의 메서드에서 반환됩니다:

트랜스포트 읽기

transport.is_reading()

트랜스포트가 수신 중이면 True를 반환합니다.

transport.pause_reading()

수신을 일시 정지합니다.

transport.resume_reading()

수신을 재개합니다.

데이터를 전송할 수 있는 트랜스포트 (TCP와 유닉스 연결, 파이프 등). loop.create_connection(), loop.create_unix_connection(), loop.connect_write_pipe() 등의 메서드에서 반환됩니다:

트랜스포트 쓰기

transport.write()

데이터를 트랜스포트에 씁니다.

transport.writelines()

버퍼들을 트랜스포트에 씁니다.

transport.can_write_eof()

트랜스포트가 EOF 전송을 지원하면 True를 반환합니다.

transport.write_eof()

버퍼 된 데이터를 플러시 한 후 닫고 EOF를 보냅니다.

transport.abort()

즉시 트랜스포트를 닫습니다.

transport.get_write_buffer_size()

쓰기 흐름 제어를 위한 높은 수위와 낮은 수위를 반환합니다.

transport.set_write_buffer_limits()

쓰기 흐름 제어를 위한 새로운 높은 수위와 낮은 수위를 설정합니다.

loop.create_datagram_endpoint()에서 반환된 트랜스포트:

데이터 그램 트랜스포트

transport.sendto()

데이터를 원격 피어로 보냅니다.

transport.abort()

즉시 트랜스포트를 닫습니다.

서브 프로세스에 대한 저수준 트랜스포트 추상화. loop.subprocess_exec()loop.subprocess_shell()가 반환합니다:

서브 프로세스 트랜스포트

transport.get_pid()

서브 프로세스의 프로세스 ID를 돌려줍니다.

transport.get_pipe_transport()

요청한 통신 파이프 (stdin, stdout 또는 stderr)에 대한 트랜스포트를 반환합니다.

transport.get_returncode()

서브 프로세스 반환 코드를 돌려줍니다.

transport.kill()

서브 프로세스를 죽입니다.

transport.send_signal()

서브 프로세스에 시그널을 보냅니다.

transport.terminate()

서브 프로세스를 중지합니다.

transport.close()

서브 프로세스를 죽이고 모든 파이프를 닫습니다.

프로토콜

프로토콜 클래스는 다음 콜백 메서드를 구현할 수 있습니다:

callback connection_made()

연결이 이루어질 때 호출됩니다.

callback connection_lost()

연결이 끊어지거나 닫힐 때 호출됩니다.

callback pause_writing()

트랜스포트 버퍼가 높은 수위를 초과할 때 호출됩니다.

callback resume_writing()

트랜스포트 버퍼가 낮은 수위 아래로 내려갈 때 호출됩니다.

스트리밍 프로토콜 (TCP, 유닉스 소켓, 파이프)

callback data_received()

어떤 데이터가 수신될 때 호출됩니다.

callback eof_received()

EOF가 수신될 때 호출됩니다.

버퍼 된 스트리밍 프로토콜

callback get_buffer()

새로운 수신 버퍼를 할당하기 위해서 호출됩니다.

callback buffer_updated()

수신된 데이터로 버퍼가 갱신될 때 호출됩니다.

callback eof_received()

EOF가 수신될 때 호출됩니다.

데이터 그램 프로토콜

callback datagram_received()

데이터 그램이 수신될 때 호출됩니다.

callback error_received()

이전의 송신이나 수신 연산이 OSError를 일으킬 때 호출됩니다.

서브 프로세스 프로토콜

callback pipe_data_received()

자식 프로세스가 stdout 이나 stderr 파이프에 데이터를 쓸 때 호출됩니다.

callback pipe_connection_lost()

자식 프로세스와 통신하는 파이프 중 하나가 닫힐 때 호출됩니다.

callback process_exited()

자식 프로세스가 종료할 때 호출됩니다.

이벤트 루프 정책

정책은 asyncio.get_event_loop()와 같은 함수의 동작을 변경하는 저수준 메커니즘입니다. 자세한 내용은 주 정책 절을 참조하십시오.

정책 액세스하기

asyncio.get_event_loop_policy()

현재 프로세스 전반의 정책을 돌려줍니다.

asyncio.set_event_loop_policy()

새로운 프로세스 전반의 정책을 설정합니다.

AbstractEventLoopPolicy

정책 객체의 베이스 클래스.