2016-03-15 2 views
-2

Я пытаюсь запустить резервное копирование базы данных с помощью кнопки в пользовательском представлении, которое я создал в Django. Дело в том, что во всей информации, которую я нашел о резервных копиях базы данных, команда запускается автоматически или из команды manage.py.Резервное копирование базы данных триггера на представлении django

Любые идеи о том, как его решить? Можно даже выполнить команду manage.py из представления?

ответ

0

Да, можно выполнить команду manage.py. Посмотрите на раздел this по документации django.

Но реальная проблема заключается в том, если вы должны это сделать или нет. Резервная база данных требует времени и выполнение любой команды внутри вашего вида заставит django ждать завершения этой команды, прежде чем отправлять ответ обратно в ваш браузер. И для этого времени выполнения один из ваших рабочих будет занят и не будет принимать никаких запросов.

Если вы по ошибке будете выполнять свое мнение несколько раз, вы можете заблокировать всех своих сотрудников, чтобы ваш сайт не был доступен до завершения резервного копирования.

Рассмотрите возможность использования некоторых загрузочных или фоновых задач, таких как Celery, uWSGI spooler или просто не используйте для этого виды.

Смежные вопросы