mirror of
https://github.com/OpenMTC/OpenMTC.git
synced 2025-06-03 23:50:55 +00:00
fixes stopping of SDK runner
This commit is contained in:
parent
d87a075786
commit
866e765c1e
@ -1,9 +1,8 @@
|
|||||||
from signal import SIGTERM, SIGINT
|
from signal import SIGTERM, SIGINT
|
||||||
|
|
||||||
|
import gevent.signal
|
||||||
from flask import (Flask, request, abort, redirect, url_for,
|
from flask import (Flask, request, abort, redirect, url_for,
|
||||||
Response as FlaskResponse)
|
Response as FlaskResponse)
|
||||||
|
|
||||||
from gevent import signal as gevent_signal
|
|
||||||
from gevent.pywsgi import WSGIServer
|
from gevent.pywsgi import WSGIServer
|
||||||
from geventwebsocket.handler import WebSocketHandler
|
from geventwebsocket.handler import WebSocketHandler
|
||||||
from socketio import Server as SioServer, Middleware as SioMiddleware
|
from socketio import Server as SioServer, Middleware as SioMiddleware
|
||||||
@ -32,8 +31,8 @@ class SimpleFlaskRunner(AppRunner):
|
|||||||
|
|
||||||
_server = self._get_server()
|
_server = self._get_server()
|
||||||
self.logger.debug("Serving on %s:%s", self.listen_on, self.port)
|
self.logger.debug("Serving on %s:%s", self.listen_on, self.port)
|
||||||
gevent_signal(SIGTERM, _server.stop)
|
gevent.signal(SIGTERM, _server.stop)
|
||||||
gevent_signal(SIGINT, _server.stop)
|
gevent.signal(SIGINT, _server.stop)
|
||||||
_server.serve_forever()
|
_server.serve_forever()
|
||||||
|
|
||||||
def add_route(self, route, handler, methods=("POST", "GET")):
|
def add_route(self, route, handler, methods=("POST", "GET")):
|
||||||
|
@ -1,4 +1,8 @@
|
|||||||
from gevent import spawn_later, wait
|
from signal import SIGTERM, SIGINT
|
||||||
|
|
||||||
|
import gevent.signal
|
||||||
|
from gevent import spawn_later
|
||||||
|
from gevent.event import Event as GEventEvent
|
||||||
|
|
||||||
from futile.logging import LoggerMixin
|
from futile.logging import LoggerMixin
|
||||||
|
|
||||||
@ -22,7 +26,7 @@ class AppRunner(LoggerMixin):
|
|||||||
self.logger.exception("Error")
|
self.logger.exception("Error")
|
||||||
raise
|
raise
|
||||||
finally:
|
finally:
|
||||||
self.logger.debug("Shutting down")
|
self.logger.info("Shutting down.")
|
||||||
self._shutdown_app()
|
self._shutdown_app()
|
||||||
for timer in self._timers:
|
for timer in self._timers:
|
||||||
timer.kill()
|
timer.kill()
|
||||||
@ -30,7 +34,10 @@ class AppRunner(LoggerMixin):
|
|||||||
def _run(self):
|
def _run(self):
|
||||||
self.m2m_app.run(self, self.m2m_ep)
|
self.m2m_app.run(self, self.m2m_ep)
|
||||||
|
|
||||||
wait()
|
shutdown_event = GEventEvent()
|
||||||
|
gevent.signal(SIGTERM, shutdown_event.set)
|
||||||
|
gevent.signal(SIGINT, shutdown_event.set)
|
||||||
|
shutdown_event.wait()
|
||||||
|
|
||||||
def _shutdown_app(self):
|
def _shutdown_app(self):
|
||||||
self.m2m_app.shutdown()
|
self.m2m_app.shutdown()
|
||||||
|
Loading…
x
Reference in New Issue
Block a user