Мне необходимо при инициализации проекта Джанго (после выполнения команды python manage.py runserver) запустить ещё один процесс. Всё отлично получается при проверке в самом manage.py на ввод "runserver" и запуске нового процесса. Но оттуда он запускается дважды. Начал капать и нашёл способ пихнуть те же самые методы в url.py файл. Я так и сделал, но теперь получаю ошибку следующего характера:
AppRegistryNotReady: Apps aren't loaded yet.
В интернете предлагалось импортнуть django и вызвать django.setup(), но это так же не помогло и ошибка всё равно повторилась.
Подскажите, пожалуйста, как я могу просто запустить второй процесс при запуске Джанго приложения? По идее, у меня есть метод, который выполняет код, вот его и нужно запихнуть во второй процесс. Хотелось бы делать это одной командой вместе с запуском Джанги.
mkone112, Мне необходимо делать запрос на урл каждые 10 секунд сторонним приложением. Это нужно для обновления базы данных. Урл залочен по локальному IP, поэтому приложение запускается на одной машине с Джанго, а для удобство ещё и одной командой.
например, оформи как команду https://docs.djangoproject.com/en/4.0/howto/custom... и запусти отдельно, ну и сразу runserver только для разработки, в проде запускается через app server - uwsgi и подобные
ЗЫ ну и да, в общем случае ты хочешь чего-то странного, уточняй для чего, чтобы можно было дать более точный совет
Мне необходимо делать запрос на урл каждые 10 секунд сторонним приложением. Это нужно для обновления базы данных. Урл залочен по локальному IP, поэтому приложение запускается на одной машине с Джанго, а для удобство ещё и одной командой.
Вполне возможно, что есть более удобное решение без запуска дополнительного процесса, который будет делать запрос, но я пока не нашёл решение. Подскажите, можно ли это как-то проще реализовать?
DeadAndDieFox, такое всё таки лучше отдельным процессом от основного app Джанго, как раз через custom commands, либо в celery или подобных, но более легких task queue (celery оверх для такой простой задачи)