Python Django - запуск и завершение процесса python в соответствии с пользовательским вводом, как я должен к этому подойти?
Давайте сначала убедимся, что я все правильно понимаю:
По сути, сервер django (или серверы в целом) - это неопределенные скрипты на python, верно?
Теперь немного контекста, я создаю приложение с постоянно запущенным подпроцессом, по умолчанию. Он выполняется до тех пор, пока ему не скажут "больше нет", т.е. не завершат скрипт. Я хочу иметь возможность запускать и завершать этот процесс И я хочу делать это через пользовательский ввод с сервера django. Таким образом, когда пользователь решит запустить скрипт, он будет продолжать работать, даже если пользователь закроет веб-страницу.
Как я могу подойти к созданию такого дизайна? Как я буду запускать скрипт по указанию пользователя и как я буду его закрывать?
Я подумал, что, возможно, потоки могли бы сделать эту работу. Поскольку сервер работает под управлением froever, каждый раз, когда пользователь хочет запустить подпроцесс, запускается поток, а когда он хочет закрыть скрипт, он закрывает поток. Однако подпроцесс представляет собой собственный файл python, и я не уверен, как он будет работать с threading.
Or
Можно использовать переменную состояния в базе данных пользователя. Каждый раз, когда пользователь изменяет ввод на сайте, изменяйте переменную состояния в базе данных (false/true) и зацикливайте цикл, ожидая изменений.
Также мне нужно будет запустить этот подпроцесс * 20, примерно столько людей (пользователей), которые будут его использовать.
Возможно, для этой идеи уже существует хорошая инфраструктура? Есть ли лучшая архитектура для этого?
Я определенно не эксперт для принятия этого решения и предпочел бы остаться на правильном пути, прежде чем продолжать. Буду признателен за любой совет!