mirror of
https://github.com/CopterExpress/clever-show.git
synced 2026-05-26 15:13:26 +00:00
56 lines
1.2 KiB
Python
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)
|