Используя Django 2.2, как я могу запустить код один раз после загрузки кода, но до обработки любого запроса? (Аналогично коду, выполняемому в инициализаторах Rails).
Вариант использования следующий:
Я хотел бы создать пул соединений с базой данных и назначить его глобальной переменной в модуле, но желательно не при импорте модуля.
(Первоначально: https://stackoverflow.com/a/1117692/3837660, Я делал это при импорте модулей. Но это не оптимально. Отчасти потому, что я столкнулся с проблемой двойного импорта, которую я еще не решил, а отчасти потому, что яХотелось бы избежать создания пула соединений во время импорта модуля.)
Это должно быть сделано ровно один раз (независимо от того, был ли этот модуль импортирован дважды), но при запуске приложения (не на первомзапрос).
====================================
РЕДАКТИРОВАТЬ:
Видимо, работает
python manage.py runserver localhost:8000
дважды вызовет manage.py main
. Как следствие, все импортируется дважды, а функция ready
также вызывается дважды.