123456789101112131415161718192021222324252627282930313233343536373839404142434445464748 |
- from configure import configure, conf
- import os
- import logging
- import threading
- env_dict = os.environ
- hblog_conf = env_dict.get("HBLOG_CONF")
- if hblog_conf is None:
- logging.info("Configure file ./etc/conf.json")
- configure("./etc/conf.json")
- else:
- logging.info(f"Configure file {hblog_conf}")
- configure(hblog_conf)
- from app import HBlogFlask
- from waitress import serve
- app = HBlogFlask(__name__)
- app.register_all_blueprint()
- from sql.cache import restart_clear_cache
- from sql.cache_refresh import refresh
- restart_clear_cache() # 清理缓存
- @app.before_first_request
- def before_first_requests():
- class FirstRefresh(threading.Thread):
- def __init__(self):
- super(FirstRefresh, self).__init__()
- self.daemon = True # 设置为守护进程
- def run(self):
- refresh()
- class TimerRefresh(threading.Timer):
- def __init__(self):
- super(TimerRefresh, self).__init__(conf["CACHE_REFRESH_INTERVAL"], refresh)
- self.daemon = True # 设置为守护进程
- FirstRefresh().start()
- TimerRefresh().start()
- if __name__ == '__main__':
- logging.info("Server start on 127.0.0.1:8080")
- serve(app, host='0.0.0.0', port="8080")
|