cache_refresh.py 2.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. from sql import DB
  2. from configure import conf
  3. from sql.archive import read_archive, get_archive_list_iter, get_blog_archive
  4. from sql.blog import read_blog, get_blog_count, get_archive_blog_count, get_user_blog_count, get_blog_list_iter
  5. from sql.comment import read_comment, read_comment_list_iter, get_user_comment_count
  6. from sql.msg import read_msg, read_msg_list_iter, get_msg_count, get_user_msg_count
  7. from sql.user import (read_user, get_user_list_iter, get_role_list_iter,
  8. get_user_email, get_role_name, check_role, role_authority)
  9. import logging.handlers
  10. import os
  11. refresh_logger = logging.getLogger("main.refresh")
  12. refresh_logger.setLevel(conf["LOG_LEVEL"])
  13. if len(conf["LOG_HOME"]) > 0:
  14. handle = logging.handlers.TimedRotatingFileHandler(
  15. os.path.join(conf["LOG_HOME"], f"redis-refresh.log"), backupCount=10)
  16. handle.setFormatter(logging.Formatter(conf["LOG_FORMAT"]))
  17. refresh_logger.addHandler(handle)
  18. def refresh():
  19. refresh_logger.info("refresh redis cache started.")
  20. for i in get_archive_list_iter():
  21. read_archive(i[0], not_cache=True)
  22. get_archive_blog_count(i[0], not_cache=True)
  23. for i in get_blog_list_iter():
  24. read_blog(i[0], not_cache=True)
  25. get_blog_archive(i[0], not_cache=True)
  26. get_blog_count(not_cache=True)
  27. for i in read_comment_list_iter():
  28. read_comment(i[0], not_cache=True)
  29. for i in read_msg_list_iter():
  30. read_msg(i[0], not_cache=True)
  31. get_msg_count(not_cache=True)
  32. for i in get_user_list_iter():
  33. email = get_user_email(i[0], not_cache=True)
  34. get_user_blog_count(i[0], not_cache=True)
  35. get_user_comment_count(i[0], not_cache=True)
  36. get_user_msg_count(i[0], not_cache=True)
  37. read_user(email, not_cache=True)
  38. for i in get_role_list_iter():
  39. get_role_name(i[0], not_cache=True)
  40. for a in role_authority:
  41. check_role(i[0], a, not_cache=True)
  42. refresh_logger.info("refresh redis cache finished.")