Explorar o código

add log & update filter_video_viewed & update MAX_FREQ_FROM_FLOW_POOL:0->1

liqian %!s(int64=2) %!d(string=hai) anos
pai
achega
ba228375a8
Modificáronse 3 ficheiros con 25 adicións e 7 borrados
  1. 1 1
      config.py
  2. 4 3
      utils.py
  3. 20 3
      video_recall.py

+ 1 - 1
config.py

@@ -279,7 +279,7 @@ class BaseConfig(object):
     # 从ROV召回池获取视频的最大频次,限制每次请求的获取次数
     MAX_FREQ_FROM_ROV_POOL = 3
     # 从流量池获取视频的最大频次,限制每次请求的获取次数
-    MAX_FREQ_FROM_FLOW_POOL = 0
+    MAX_FREQ_FROM_FLOW_POOL = 1
     # 从流量池获取视频的最大频次,限制每次请求的获取次数 appType:[18, 19]
     MAX_FREQ_FROM_FLOW_POOL_18_19 = 3
 

+ 4 - 3
utils.py

@@ -235,7 +235,7 @@ class FilterVideos(object):
         else:
             return [int(video_id) for video_id in filtered_viewed_result]
 
-    def filter_videos(self):
+    def filter_videos(self, pool_type='rov'):
         """视频过滤"""
         # 预曝光过滤
         st_pre = time.time()
@@ -271,6 +271,7 @@ class FilterVideos(object):
         # et_viewed = time.time()
         log_.info({
             'logTimestamp': int(time.time() * 1000),
+            'pool_type': pool_type,
             'request_id': self.request_id,
             'app_type': self.app_type,
             'mid': self.mid,
@@ -360,11 +361,11 @@ class FilterVideos(object):
 
         if result is None:
             # log_.info('过滤失败,types: {}'.format(types))
-            return video_ids
+            return []
 
         if result['code'] != 0:
             # log_.info('过滤失败,types: {}'.format(types))
-            return video_ids
+            return []
 
         filtered_videos = result['data']
         return filtered_videos

+ 20 - 3
video_recall.py

@@ -473,7 +473,7 @@ class PoolRecall(object):
             # 过滤
             filter_ = FilterVideos(request_id=self.request_id,
                                    app_type=self.app_type, mid=self.mid, uid=self.uid, video_ids=video_ids)
-            ge = gevent.spawn(filter_.filter_videos)
+            ge = gevent.spawn(filter_.filter_videos, pool_type='flow')
             ge.join()
             filtered_result = ge.get()
             #filtered_result = filter_.filter_videos()
@@ -483,6 +483,15 @@ class PoolRecall(object):
                 ge = gevent.spawn(self.check_video_counts, video_ids=filtered_result, flow_pool_mapping=video_mapping)
                 ge.join()
                 check_result, error_flag = ge.get()
+                log_.info({
+                    'logTimestamp': int(time.time() * 1000),
+                    'request_id': self.request_id,
+                    'app_type': self.app_type,
+                    'mid': self.mid,
+                    'uid': self.uid,
+                    'operation': 'check_video_counts',
+                    'executeTime': (time.time() - st_check) * 1000
+                })
                 #check_result, error_flag = self.check_video_counts(video_ids=filtered_result, flow_pool_mapping=video_mapping)
 
                 for item in check_result:
@@ -553,9 +562,17 @@ class PoolRecall(object):
             return check_result, error_flag
 
         # 本地无记录视频,检查实时分发数
+        st_remain_view_count = time.time()
         view_count_result, error_flag = get_videos_remain_view_count(app_type=self.app_type, videos=videos)
-        # log_.info('error_flag = {}, view_count_result = {}'.format(error_flag, view_count_result))
-
+        log_.info({
+            'logTimestamp': int(time.time() * 1000),
+            'request_id': self.request_id,
+            'app_type': self.app_type,
+            'mid': self.mid,
+            'uid': self.uid,
+            'operation': 'remainViewCount',
+            'executeTime': (time.time() - st_remain_view_count) * 1000
+        })
         # 判断返回的错误标记,True为错误
         if error_flag:
             return check_result, error_flag