
142
파이썬 비동기 라이브러리 Asyncio
④ 새로 생성한 데이터베이스에 대한 연결을 만든다. 연결에 관련된 세부 사항은 코드를 간
결하게 유지하기 위해 하드코딩하였다. 여러분은 사용자 이름, 호스트, 포트와 같은 매개변
수에 대한 처리를 쉽게 분리할 수 있을 것이다.
⑤ 콘텍스트 관리자를 종료할 때 연결을 종료한다.
⑥ 데이터베이스를 제거한다.
⑦ 이것은
PostgreSQL
서버에서 명령어를 실행하는 유틸리티 메서드이다. 데이터베이스
에 연결하고 명령어를 실행한 후, 연결을 종료한다.
⑧ 이 함수는 데이터베이스에서 이벤트를 수신하기 위해 수명이 긴 소켓 연결을 생성한다.
이후 사례 연구에서 사용될 것이다.
CAUTION
_
직전 예제의
8
번에서 이벤트를 수신하고자 하는 각 채널 전용 연결을 생성하였다. 수신 중인
모든 채널에 대한
PostgreSQL
작업자가 있다는 의미로 상당히 비용이 많이 든다. 더 나은 설계는 여러 개의
채널에 대해 하나의 연결만 사용하는 것이다. 예제를 파악한 후에 여러 채널에 대한 수신자들에 대해 하나의
연결만 사용하도록 수정해보자.
이제
asyncpg
의 기본적 구성 요소는 확인하였으므로 실제에 가까운 사례 연구를 통해 상세히
알아보자.
PostgreSQL
의 내장된 기능인 이벤트 알림으로 캐시 무효화를 수행해보자.
4.6.1
사례