liqian 2 years ago
parent
commit
1b12073400
3 changed files with 20 additions and 7 deletions
  1. 5 2
      db_helper.py
  2. 6 2
      recommend.py
  3. 9 3
      video_recall.py

+ 5 - 2
db_helper.py

@@ -232,7 +232,7 @@ class RedisHelper(object):
         """
         # start_time = time.time()
         conn = self.connect()
-        conn.zrem(key_name, value)
+        res = conn.zrem(key_name, value)
         # if self.params is not None:
         #     log_.info({
         #         'logTimestamp': int(time.time() * 1000),
@@ -240,6 +240,7 @@ class RedisHelper(object):
         #         'operation': 'remove_value_from_zset',
         #         'executeTime': (time.time() - start_time) * 1000
         #     })
+        return res
 
     def get_index_with_data(self, key_name, value):
         """
@@ -505,5 +506,7 @@ if __name__ == '__main__':
     # redis_helper.add_data_with_set(key_name=key_name, values=values, expire_time=30 * 60)
     # res = redis_helper.get_data_from_set(key_name=key_name)
 
-    res = redis_helper.data_exists_with_set(key_name="flow:pool:video:0:161694911", value='1')
+    res = redis_helper.remove_value_from_zset(
+        key_name="recall:item:score:region:dup3:24h:110000:data1:rule4:20230315:14",
+        value=111111)
     print(res)

+ 6 - 2
recommend.py

@@ -519,6 +519,7 @@ def update_local_distribute_count(videos):
                 continue
             # 本地分发数 cur_count <= 0,从所有的流量召回池移除,删除本地分发记录key
             if int(cur_count) <= 0:
+                add_remove_log = False
                 redis_helper.del_keys(key_name=key_name)
                 for app_name in config_.APP_TYPE:
                     app_type = config_.APP_TYPE.get(app_name)
@@ -527,14 +528,17 @@ def update_local_distribute_count(videos):
                         f"{config_.QUICK_FLOWPOOL_KEY_NAME_PREFIX}{app_type}:{config_.QUICK_FLOW_POOL_ID}"
                     ]
                     for key in flow_pool_key_list:
-                        redis_helper.remove_value_from_zset(key_name=key, value=f"{video_id}-{flow_pool}")
+                        remove_res = redis_helper.remove_value_from_zset(key_name=key, value=f"{video_id}-{flow_pool}")
+                        if remove_res > 0:
+                            add_remove_log = True
                     video_flow_pool_key_list = [
                         f"{config_.QUICK_FLOWPOOL_VIDEO_INFO_KEY_NAME_PREFIX}{app_type}:{config_.QUICK_FLOW_POOL_ID}:{video_id}",
                         f"{config_.FLOWPOOL_VIDEO_INFO_KEY_NAME_PREFIX}{app_type}:{video_id}"
                     ]
                     for key in video_flow_pool_key_list:
                         redis_helper.remove_value_from_set(key_name=key, values=(flow_pool, ))
-                log_.info({'tag': 'remove video_id from flow_pool', 'video_id': video_id, 'flow_pool': flow_pool})
+                if add_remove_log is True:
+                    log_.info({'tag': 'remove video_id from flow_pool', 'video_id': video_id, 'flow_pool': flow_pool})
 
             # if redis_helper.key_exists(key_name=key_name):
             #     # 该视频本地有记录,本地记录的分发数 - 1

+ 9 - 3
video_recall.py

@@ -577,16 +577,22 @@ class PoolRecall(object):
                     check_result.append((video_id, flow_pool))
                 # 本地分发数 cur_count <= 0,从所有的流量召回池移除,删除本地分发记录key
                 else:
+                    add_remove_log = False
                     remain_count_key = f"{config_.LOCAL_DISTRIBUTE_COUNT_PREFIX}{video_id}:{flow_pool}"
                     self.redis_helper.del_keys(remain_count_key)
                     value = '{}-{}'.format(video_id, flow_pool)
                     for item in config_.APP_TYPE:
                         flow_pool_key = f"{config_.FLOWPOOL_KEY_NAME_PREFIX}{config_.APP_TYPE.get(item)}"
-                        self.redis_helper.remove_value_from_zset(key_name=flow_pool_key, value=value)
+                        remove_res = self.redis_helper.remove_value_from_zset(key_name=flow_pool_key, value=value)
+                        if remove_res > 0:
+                            add_remove_log = True
                         quick_flow_pool_key = f"{config_.QUICK_FLOWPOOL_KEY_NAME_PREFIX}{config_.APP_TYPE.get(item)}" \
                                               f":{config_.QUICK_FLOW_POOL_ID}"
-                        self.redis_helper.remove_value_from_zset(key_name=quick_flow_pool_key, value=value)
-                    log_.info({'tag': 'remove video_id from flow_pool', 'video_id': video_id, 'flow_pool': flow_pool})
+                        remove_res = self.redis_helper.remove_value_from_zset(key_name=quick_flow_pool_key, value=value)
+                        if remove_res > 0:
+                            add_remove_log = True
+                    if add_remove_log is True:
+                        log_.info({'tag': 'remove video_id from flow_pool', 'video_id': video_id, 'flow_pool': flow_pool})
         return check_result
 
     """