liqian 1 yıl önce
ebeveyn
işleme
51ea7d06db
2 değiştirilmiş dosya ile 11 ekleme ve 1 silme
  1. 10 0
      flowpool_data_update_with_level.py
  2. 1 1
      pool_predict.py

+ 10 - 0
flowpool_data_update_with_level.py

@@ -232,8 +232,10 @@ def get_flow_pool_data(app_type, video_info_list, flow_pool_id_list):
                                                expire_time=15 * 60)
 
         # 普通流量池视频写入redis - 分层存储
+        level_list = []
         for level, videos in redis_data.items():
             log_.info(f"level: {level}, videos_count: {len(videos)}")
+            level_list.append(level)
             flow_pool_key_name = f"{config_.FLOWPOOL_KEY_NAME_PREFIX_SET_LEVEL}{app_type}:{level}"
             # 如果key已存在,删除key
             if redis_helper.key_exists(flow_pool_key_name):
@@ -242,6 +244,14 @@ def get_flow_pool_data(app_type, video_info_list, flow_pool_id_list):
             if videos:
                 redis_helper.add_data_with_set(key_name=flow_pool_key_name, values=videos, expire_time=24 * 3600)
 
+        # 删除此时不存在的level key
+        for i in range(1, 7):
+            if i not in level_list:
+                flow_pool_key_name = f"{config_.FLOWPOOL_KEY_NAME_PREFIX_SET_LEVEL}{app_type}:{i}"
+                # 如果key已存在,删除key
+                if redis_helper.key_exists(flow_pool_key_name):
+                    redis_helper.del_keys(flow_pool_key_name)
+
         log_.info('data to redis finished!')
 
         return video_info_list

+ 1 - 1
pool_predict.py

@@ -382,7 +382,7 @@ def predict_19(app_type):
 
 if __name__ == '__main__':
     # 为避免第一个app_type获取数据不全,等待1min
-    time.sleep(60)
+    time.sleep(50)
     app_type_list = [config_.APP_TYPE['LAO_HAO_KAN_VIDEO'], config_.APP_TYPE['ZUI_JING_QI']]
     log_.info('flow pool predict start...')
     # 获取对应流量池id列表