Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/lib/server/_server.py
blob: eb7f94cfa103dc731fdd44aee2831b5b670e09c1 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
# python import
import atexit, multiprocessing

# server import
from server import config
from server.flask import app, run_app

class Server(object):

    def __init__(self):
        # start the server
        self._server = multiprocessing.Process(target=run_app)
        self._server.start()
        # .. required to close properly
        atexit.register(self.close)

    def close(self):
        # stop web thread
        self._server.terminate()
        self._server.join()