Ахтунг! Помогите, у меня есть Flask сервер, главная задача которого, вызвать в системе скрипт с параметром переданным в запросе. Вот код:
import subprocess
from flask import Flask
from flask import Response
app = Flask(__name__)
@app.route("/<url>", methods=['GET'])
def index(url):
cmd = './prg '
cmd = cmd + url
PIPE = subprocess.PIPE
p = subprocess.Popen(cmd, shell=True, stdin=PIPE, stdout=PIPE,
stderr=subprocess.STDOUT, close_fds=True, cwd='/home/prog')
resp = Response(p.stdout.read())
resp.headers['Access-Control-Allow-Origin'] = '*'
return resp
if __name__ == "__main__":
context = ('/var/www/httpd-cert/www-root/cert.crt', '/var/www/httpd-cert/www-root/cert.key')
app.run(host='0.0.0.0', port=9090, ssl_context=context)
Столкнулся с проблемой, у меня сервер падает после обращения к нему, с чем это может быть связанно? Как настроить сей процесс оптимально? Стоит заметить, что программа которая вызывается вычислительно затратная и работает довольно не мало, используя при этом все доступные ядра. (иногда до нескольких минут)