Files
clever-show/Server/flask_test.py
2019-08-28 18:21:02 +03:00

56 lines
1.2 KiB
Python

import threading
import atexit
from flask import Flask
from server import *
POOL_TIME = 0 # Seconds
class ServerThread(threading.Thread):
def run(self):
server = Server()
server.start()
while True:
pass
# variables that are accessible from anywhere
commonDataStruct = {}
# lock to control access to variable
dataLock = threading.Lock()
# thread handler
yourThread = ServerThread()
def create_app():
app = Flask(__name__)
def interrupt():
global yourThread
yourThread.cancel()
def doStuff():
global commonDataStruct
global yourThread
with dataLock:
print('kek')
yourThread = threading.Timer(POOL_TIME, doStuff, ())
yourThread.start()
def doStuffStart():
# Do initialisation stuff here
global yourThread
# Create your thread
yourThread = threading.Timer(POOL_TIME, doStuff, ())
yourThread.start()
# Initiate
doStuffStart()
# When you kill Flask (SIGTERM), clear the trigger for the next thread
atexit.register(interrupt)
return app
app = create_app()
app.run(host='0.0.0.0', debug=True)