Я использую python wrapper 'geoip2' для базы данных GeoIP от MaxMind. В документах говорится, что вы должны создать только один экземпляр считывателя баз данных, потому что открытие базы данных очень дорого, и, конечно, открытие его для каждого запроса - очень плохая идея.MaxMind GeoIP2 один экземпляр в Django
Итак, если у меня есть Django (1.10) + Gunicorn на моем сервере, как мне создать «синглтон» считывателя баз данных? Это вообще не вопрос о geoip2 модуля, это вопрос о том:
Как я должен создать единый объект, доступный из приложения (не весь проект)? Можно ли сделать что-то подобное в
__init__
:os.environ['APP_VAR_WHATEVER'] = InitObject()
?К сожалению, я не знаю многого о Gunicorn, так что второй вопросвопрос: как долго живет рабочий? Перезапускается ли каждый N минут/секунд? Я задаю этот вопрос, потому что я боюсь, если он слишком часто работает с респаунами, это создаст дополнительную нежелательную загрузку системы .