Fix: Changed LLCM to use gevent
Change-Id: I232e529cd0b35614c697e9c41d12b9b62955a87a
Signed-off-by: peusterm <manuel.peuster@uni-paderborn.de>
diff --git a/src/emuvim/api/tango/llcm.py b/src/emuvim/api/tango/llcm.py
index aae6be1..eaa0b5e 100755
--- a/src/emuvim/api/tango/llcm.py
+++ b/src/emuvim/api/tango/llcm.py
@@ -39,6 +39,7 @@
from docker import DockerClient
from flask import Flask, request
import flask_restful as fr
+from gevent.pywsgi import WSGIServer
from subprocess import Popen
import ipaddress
import copy
@@ -1028,6 +1029,7 @@
GK = None
initialize_GK()
# setup Flask
+http_server = None
app = Flask(__name__)
app.config['MAX_CONTENT_LENGTH'] = 512 * 1024 * 1024 # 512 MB max upload
api = fr.Api(app)
@@ -1039,14 +1041,22 @@
def start_rest_api(host, port, datacenters=dict()):
+ global http_server
GK.dcs = datacenters
GK.net = get_dc_network()
# start the Flask server (not the best performance but ok for our use case)
- app.run(host=host,
- port=port,
- debug=True,
- use_reloader=False # this is needed to run Flask in a non-main thread
- )
+ # app.run(host=host,
+ # port=port,
+ # debug=True,
+ # use_reloader=False # this is needed to run Flask in a non-main thread
+ # )
+ http_server = WSGIServer((host, port), app, log=open("/dev/null", "w"))
+ http_server.serve_forever()
+
+
+def stop_rest_api():
+ if http_server:
+ http_server.close()
def ensure_dir(name):