|
@@ -319,6 +319,37 @@ def get_pool_redis_key(pool_type, app_type=None):
|
|
|
return None, None
|
|
|
|
|
|
|
|
|
+def filter_app_pool():
|
|
|
+ """过滤票圈视频APP小时级数据"""
|
|
|
+ log_.info("app pool filter start ...")
|
|
|
+ redis_helper = RedisHelper()
|
|
|
+ # 获取当前日期
|
|
|
+ now_date = date.today().strftime('%Y%m%d')
|
|
|
+ # 获取当前所在小时
|
|
|
+ now_h = datetime.now().hour
|
|
|
+ # 拼接key
|
|
|
+ key_name = f'{config_.APP_FINAL_RECALL_KEY_NAME_PREFIX}{now_date}.{now_h}'
|
|
|
+ # 获取视频
|
|
|
+ data = redis_helper.get_data_zset_with_index(key_name=key_name, start=0, end=-1)
|
|
|
+ if data is None:
|
|
|
+ log_.info("data is None")
|
|
|
+ log_.info("app pool filter end!")
|
|
|
+ return
|
|
|
+ # 过滤
|
|
|
+ video_ids = [int(video_id) for video_id in data]
|
|
|
+ filtered_result = filter_video_status_app(video_ids=video_ids)
|
|
|
+ # 求差集,获取需要过滤掉的视频,并从redis中移除
|
|
|
+ filter_videos = set(video_ids) - set(filtered_result)
|
|
|
+ log_.info("video_ids size = {}, filtered size = {}, filter sizer = {}".format(len(video_ids),
|
|
|
+ len(filtered_result),
|
|
|
+ len(filter_videos)))
|
|
|
+ if len(filter_videos) == 0:
|
|
|
+ log_.info("app pool filter end!")
|
|
|
+ return
|
|
|
+ redis_helper.remove_value_from_zset(key_name=key_name, value=list(filter_videos))
|
|
|
+ log_.info("app pool filter end!")
|
|
|
+
|
|
|
+
|
|
|
def main():
|
|
|
try:
|
|
|
# ROV召回池视频过滤
|
|
@@ -338,6 +369,8 @@ def main():
|
|
|
filter_relevant_videos()
|
|
|
# 按位置排序视频过滤
|
|
|
filter_position_videos()
|
|
|
+ # 过滤票圈视频APP小时级数据
|
|
|
+ filter_app_pool()
|
|
|
except Exception as e:
|
|
|
log_.error(traceback.format_exc())
|
|
|
send_msg_to_feishu(
|