Django: запустить независимый от Django скрипт PythonPython

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Django: запустить независимый от Django скрипт Python

Сообщение Anonymous »


У меня проблема с запуском скрипта Django +. Для контекста: я создаю веб-сайт на Django, который использует базу данных, которая на данный момент невелика, но со временем будет расти.

Я создал собственную администрацию в соответствии со своими потребностями. Требование – это ретроактивное действие для всей базы данных.

Чтобы не влиять на сайт, операция осуществляется через другой скрипт Python (которого нет в view.py). Скрипт длится минуту, и если я запускаю его из view.py, сайт «зависает» на моей стороне, и я больше не могу просматривать его. Поэтому я решил создать отдельный скрипт.

Моя проблема в том, что мне нужен Django, чтобы запустить этот скрипт, не влияя на интерфейс, т. е. если я нажму кнопку запуска скрипта на интерфейсе, я смогу продолжить просмотр.

Я пробовал использовать подпроцесс:

subprocess.run(['python3', '/home/ec2-user/scripts/database_cleaning.py']) Забавный факт: сайт кажется зависшим (у меня на названии вкладки крутится колесо), но я могу перемещаться по нему, и скрипт, похоже, работает. С другой стороны, это иногда вызывает ошибки при просмотре: транзакция psycopg2 не закрывается, и сайт «нокаутируется», пока я не уничтожу процесс непосредственно в PostgreSQL. Таким образом, кажется, что подпроцесс не является решением, потому что даже если скрипт запускается вне Django, он все равно связан с Django через подпроцесс.

Знаете ли вы, как я могу запустить скрипт Python совершенно независимо от Django, но запускать его с помощью кнопки на передней панели? Эта кнопка выполняет серверное действие (добавляет значение в список, затем фиксирует изменения в базе данных), а затем запускает сценарий очистки с новым списком.

Я открыт для любых идей по оптимизации, если для этого не требуется полноценная архитектура, сценарий запускается на виртуальной машине.

Большое спасибо!
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Python»