Мне нужно вызвать службу python (я использую бутылку и gunicorn), которая запускает команду dd (http req 1), а также мне нужно способный в любой момент прекратить процесс с помощью другого вызова (http req 2).нужен подпроцесс python, чтобы сохранить http req открытым, но не блокировать другие http-запросы
А) ЕСЛИ я сделать что-то вроде:
p = subprocess.Popen(cmd, shell=True, stdout=subprocess.PIPE, stderr=subprocess.PIPE)
out = p.stdout.read().strip()
HTTP-REQ 2 ждет, пока HTTP REQ 1 заканчивается (так чтение вывода блокирует одновременных вызовов)
B) Если я пишу вывод в файл, http req 1 не блокирует другие запросы, но этот запрос заканчивается, между тем команда выполняется в фоновом режиме.
Итак, мне нужно, чтобы поддерживать http-req 1 до завершения команды, но в то же время мне нужно иметь возможность завершить процесс другим запросом. (Если я использую простой time.sleep (х) вместо того, чтобы читать выходные я получаю то, что хочу, то REQ 1 сохраняет живой, и я могу назвать REQ 2 одновременно)
Пожалуйста, помогите
Это работает отлично! большое спасибо – Leandro