shield_videos.py 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839
  1. import traceback
  2. from config import set_config
  3. from log import Log
  4. from utils import execute_sql_from_odps
  5. from db_helper import RedisHelper
  6. config_, _ = set_config()
  7. log_ = Log()
  8. redis_helper = RedisHelper()
  9. def get_benshanzhufu_videos():
  10. """获取本山祝福视频并存入redis"""
  11. try:
  12. # 获取本山祝福视频
  13. sql = f"SELECT videoid FROM {config_.PROJECT_BENSHAN_ZHUFU}.{config_.TABLE_BENSHAN_ZHUFU};"
  14. records = execute_sql_from_odps(project=config_.PROJECT_BENSHAN_ZHUFU, sql=sql)
  15. video_id_list = []
  16. with records.open_reader() as reader:
  17. for record in reader:
  18. video_id = int(record['videoid'])
  19. video_id_list.append(video_id)
  20. log_.info(f"count = {len(video_id_list)}")
  21. # 存入redis
  22. if len(video_id_list) > 0:
  23. redis_helper.del_keys(key_name=config_.BENSHAN_ZHUFU_KEY_NAME)
  24. redis_helper.add_data_with_set(key_name=config_.BENSHAN_ZHUFU_KEY_NAME, values=video_id_list,
  25. expire_time=25 * 3600)
  26. except Exception as e:
  27. log_.error(traceback.format_exc())
  28. def main():
  29. get_benshanzhufu_videos()
  30. if __name__ == '__main__':
  31. main()