liqian 3 년 전
부모
커밋
d858c4c8ca
2개의 변경된 파일18개의 추가작업 그리고 7개의 파일을 삭제
  1. 8 7
      bottom_videos.py
  2. 10 0
      config.py

+ 8 - 7
bottom_videos.py

@@ -24,7 +24,7 @@ def update_bottom_videos():
               "AND     STATUS = 1 " \
               "AND     recommend_status IN ( - 6, 1) " \
               "ORDER BY play_count_total DESC " \
-              "LIMIT   1000" \
+              "LIMIT   2000" \
               ";"
 
         records = execute_sql_from_odps(project='videoods', sql=sql)
@@ -37,31 +37,32 @@ def update_bottom_videos():
                 video_id = int(record['id'])
                 video_id_list.append(video_id)
                 videos[video_id] = record['play_count_total']
-        # print(videos)
 
         redis_helper = RedisHelper()
-        redis_helper.add_data_with_zset(key_name=config_.BOTTOM_KEY_NAME, data=videos)
+        redis_helper.add_data_with_zset(key_name=config_.BOTTOM_KEY_NAME, data=videos[:1000])
         # 与原有兜底视频排序,保留top1000
         redis_helper.remove_by_rank_from_zset(key_name=config_.BOTTOM_KEY_NAME, start=config_.BOTTOM_NUM, stop=-1)
         # 移除bottom key的过期时间,将其转换为永久状态
         redis_helper.persist_key(key_name=config_.BOTTOM_KEY_NAME)
 
-        log_.info('{} update bottom videos success! num = {}'.format(now_date, len(videos)))
+        log_.info('{} update bottom videos success! num = {}'.format(now_date, config_.BOTTOM_NUM))
 
         # 获取今日兜底视频的json,并存入redis
         video_json_list = []
         for i in range(0, len(video_id_list) // 10):
             video_json = get_video_info_json(video_ids=video_id_list[i * 10:(i + 1) * 10])
             if video_json is not None:
-                print(len(video_json))
                 video_json_list.extend(video_json)
+            if len(video_json_list) >= 1000:
+                break
         # 写入redis,先删除key,再重新写入
         redis_helper.del_keys(config_.BOTTOM_JSON_KEY_NAME)
-        redis_helper.add_data_with_set(key_name=config_.BOTTOM_JSON_KEY_NAME, values=video_json_list)
+        redis_helper.add_data_with_set(key_name=config_.BOTTOM_JSON_KEY_NAME, values=video_json_list[:1000])
         # 移除过期时间,将其转换为永久状态
         redis_helper.persist_key(key_name=config_.BOTTOM_JSON_KEY_NAME)
 
-        log_.info('{} update bottom videos info json success!, video nums = {}'.format(now_date, len(video_json_list)))
+        log_.info('{} update bottom videos info json success!, video nums = {}'.format(now_date,
+                                                                                       len(video_json_list[:1000])))
 
     except Exception as e:
         log_.error(traceback.format_exc())

+ 10 - 0
config.py

@@ -48,6 +48,8 @@ class BaseConfig(object):
     BOTTOM_KEY_NAME = 'com.weiqu.video.bottom'
     # 兜底视频数量
     BOTTOM_NUM = 1000
+    # 首页兜底视频json存储 redis-key
+    BOTTOM_JSON_KEY_NAME = 'com.weiqu.video.homepage.bottom.info.json.item'
 
     # 修改ROV的视频 redis key
     UPDATE_ROV_KEY_NAME = 'com.weiqu.video.update.rov.item.score'
@@ -85,6 +87,8 @@ class DevelopmentConfig(BaseConfig):
     NOTIFY_BACKEND_UPDATE_ROV_SCORE_URL = 'http://videotest-internal.yishihui.com/longvideoapi/openapi/recommend/updateRovScore'
     # 获取置顶视频列表接口地址
     TOP_VIDEO_LIST_URL = 'http://videotest-internal.yishihui.com/longvideoapi/openapi/recommend/topVideoList'
+    # 获取首页兜底视频json接口地址
+    BOTTOM_JSON_URL = 'http://videotest-internal.yishihui.com/longvideoapi/openapi/video/distribute/structure/video/list'
 
     # logs 上传oss 目标Bucket指定目录
     OSS_FOLDER_LOGS = 'rov-offline/dev/logs/'
@@ -121,6 +125,8 @@ class TestConfig(BaseConfig):
     NOTIFY_BACKEND_UPDATE_ROV_SCORE_URL = 'http://videotest-internal.yishihui.com/longvideoapi/openapi/recommend/updateRovScore'
     # 获取置顶视频列表接口地址
     TOP_VIDEO_LIST_URL = 'http://videotest-internal.yishihui.com/longvideoapi/openapi/recommend/topVideoList'
+    # 获取首页兜底视频json接口地址
+    BOTTOM_JSON_URL = 'http://videotest-internal.yishihui.com/longvideoapi/openapi/video/distribute/structure/video/list'
 
     # logs 上传oss 目标Bucket指定目录
     OSS_FOLDER_LOGS = 'rov-offline/test/logs/'
@@ -157,6 +163,8 @@ class PreProductionConfig(BaseConfig):
     NOTIFY_BACKEND_UPDATE_ROV_SCORE_URL = 'http://videopre-internal.piaoquantv.com/longvideoapi/openapi/recommend/updateRovScore'
     # 获取置顶视频列表接口地址
     TOP_VIDEO_LIST_URL = 'http://speedpre.wx.com/longvideoapi/openapi/recommend/topVideoList'
+    # 获取首页兜底视频json接口地址
+    BOTTOM_JSON_URL = 'http://speedpre.wx.com/longvideoapi/openapi/video/distribute/structure/video/list'
 
     # logs 上传oss 目标Bucket指定目录
     OSS_FOLDER_LOGS = 'rov-offline/pre/logs/'
@@ -193,6 +201,8 @@ class ProductionConfig(BaseConfig):
     NOTIFY_BACKEND_UPDATE_ROV_SCORE_URL = 'http://longvideoapi-internal.piaoquantv.com/longvideoapi/openapi/recommend/updateRovScore'
     # 获取置顶视频列表接口地址
     TOP_VIDEO_LIST_URL = 'http://recommend-common-internal.piaoquantv.com/longvideoapi/openapi/recommend/topVideoList'
+    # 获取首页兜底视频json接口地址
+    BOTTOM_JSON_URL = 'http://recommend-common-internal.piaoquantv.com/longvideoapi/openapi/video/distribute/structure/video/list'
 
     # logs 上传oss 目标Bucket指定目录
     OSS_FOLDER_LOGS = 'rov-offline/pro/logs/'