MaxMind의 GeoIP 데이터베이스에 python wrapper 'geoip2'를 사용하고 있습니다. 문서를 열 때 데이터베이스를 열면 데이터베이스가 매우 비싸고 모든 요청에 대해 열어야하므로 데이터베이스 판독기의 인스턴스는 하나만 만들어야한다고합니다.MaxMind 장고의 GeoIP2 단일 인스턴스
내 서버에 Django (1.10) + Gunicorn이있는 경우 데이터베이스 리더의 "싱글 톤"을 어떻게 작성해야합니까? 즉, 일반적으로 geoip2 모듈에 대한 질문이 아니라, 그것에 대해 질문입니다 :
- 나는 응용 프로그램 (안 전체 프로젝트)에서 액세스 할 수있는 단일 객체를 생성하는 방법을
?
__init__
:os.environ['APP_VAR_WHATEVER'] = InitObject()
에서 이렇게 할 수 있습니까? 불행히도 Gunicorn에 대해서는 잘 모릅니다. 따라서 두 번째 질문은 : 근로자는 얼마나 오래 살고 있습니까? N 분/초마다 다시 시작하나요? 나는이 질문을하고있다. 왜냐하면 만약에 이 노동자들을 너무 자주 respawn한다면 두려운 것이기 때문에 그것은 바람직하지 않은 추가 시스템을 만들 것이다. . 당신이 언급 한 바와 같이