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