Initial commit
This commit is contained in:
28
flaskpagethread.py
Normal file
28
flaskpagethread.py
Normal file
@@ -0,0 +1,28 @@
|
|||||||
|
from time import sleep
|
||||||
|
from threading import Thread
|
||||||
|
|
||||||
|
class FlaskPageThread(Thread):
|
||||||
|
def __init__(self, delay, func, *args, **kwargs):
|
||||||
|
self.delay = delay
|
||||||
|
self.func = func
|
||||||
|
self.args = args
|
||||||
|
self.page = ("init", 500)
|
||||||
|
name = kwargs.get("name", "FlaskPageThread")
|
||||||
|
super().__init__(target=self.run, daemon=True, name=name)
|
||||||
|
|
||||||
|
def genpage(self):
|
||||||
|
try:
|
||||||
|
data = self.func(*self.args)
|
||||||
|
self.page = (data, 200)
|
||||||
|
except Exception as e:
|
||||||
|
print("Exception: %s" % e)
|
||||||
|
self.page = ("Internal error", 500)
|
||||||
|
|
||||||
|
def run(self):
|
||||||
|
self.genpage()
|
||||||
|
while True:
|
||||||
|
sleep(self.delay)
|
||||||
|
self.genpage()
|
||||||
|
|
||||||
|
if __name__ == "__main__":
|
||||||
|
pass
|
21
fpt
Executable file
21
fpt
Executable file
@@ -0,0 +1,21 @@
|
|||||||
|
#!/usr/bin/python3
|
||||||
|
|
||||||
|
from flask import Flask, escape, request
|
||||||
|
from time import sleep, ctime
|
||||||
|
from flaskpagethread import FlaskPageThread
|
||||||
|
|
||||||
|
app = Flask(__name__)
|
||||||
|
|
||||||
|
def s(delay):
|
||||||
|
sleep(delay)
|
||||||
|
return(ctime() + "\n")
|
||||||
|
|
||||||
|
page = FlaskPageThread(3, s, 1)
|
||||||
|
page.start()
|
||||||
|
|
||||||
|
@app.route('/')
|
||||||
|
def root():
|
||||||
|
return(page.page)
|
||||||
|
|
||||||
|
if __name__ == '__main__':
|
||||||
|
app.run()
|
Reference in New Issue
Block a user