Files
flaskpagethread/flaskpagethread.py

32 lines
870 B
Python

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)
self.hhealthy = False
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)
self.hhealthy = True
except Exception as e:
print("Exception: %s" % e)
self.page = ("Internal error", 500)
self.hhealthy = False
def run(self):
self.genpage()
while True:
sleep(self.delay)
self.genpage()
if __name__ == "__main__":
pass