diff options
Diffstat (limited to 'olpcfr/_server.py')
-rw-r--r-- | olpcfr/_server.py | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/olpcfr/_server.py b/olpcfr/_server.py new file mode 100644 index 0000000..8b79403 --- /dev/null +++ b/olpcfr/_server.py @@ -0,0 +1,26 @@ +# python import +import atexit, multiprocessing + +# olpcfr import +from olpcfr import config + + +class Server(object): + + def __init__(self): + from olpcfr.flask import app, run_app + if app: + # start the server + self._server = multiprocessing.Process(target=run_app) + self._server.start() + # .. required to close properly + atexit.register(self.close) + else: + # .. nothing to start + self._server = None + + def close(self): + # stop web thread if started + if self._server: + self._server.terminate() + self._server.join() |