|
@@ -30,6 +30,58 @@ class PoolRecall(object):
|
|
self.client_info = client_info
|
|
self.client_info = client_info
|
|
self.redis_helper = RedisHelper()
|
|
self.redis_helper = RedisHelper()
|
|
|
|
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+ def get_mid_h_key(self):
|
|
|
|
+ # mid对应小时级视频列表 redis-key
|
|
|
|
+ h_recall_mid_key = f"{config_.H_WITH_MID_RECALL_KEY_NAME_PREFIX}{self.mid}"
|
|
|
|
+ # 判断mid对应小时级视频列表 时间记录
|
|
|
|
+ h_record_key = f"{config_.H_WITH_MID_RECORD_KEY_NAME_PREFIX}{self.mid}"
|
|
|
|
+ if not self.redis_helper.key_exists(key_name=h_record_key):
|
|
|
|
+ # ###### 记录key不存在,copy列表,更新记录
|
|
|
|
+ self.update_mid_data()
|
|
|
|
+ return h_recall_mid_key
|
|
|
|
+ else:
|
|
|
|
+ # ###### 记录key存在,判断date, h
|
|
|
|
+ now_date = datetime.today()
|
|
|
|
+ h = datetime.now().hour
|
|
|
|
+ # 获取记录的date, h
|
|
|
|
+ record = self.redis_helper.get_data_from_redis(key_name=h_record_key)
|
|
|
|
+ record_dt = eval(record).get('date')
|
|
|
|
+ record_h = eval(record).get('h')
|
|
|
|
+ now_dt = datetime.strftime(now_date, '%Y%m%d')
|
|
|
|
+ if record_dt == now_dt and int(record_h) == h:
|
|
|
|
+ # 已获取当前小时数据
|
|
|
|
+ return h_recall_mid_key
|
|
|
|
+ elif (record_dt == now_dt and h-int(record_h) == 1) or (h == 0 and int(record_h) == 23):
|
|
|
|
+ # 记录的h - 当前h = 1,判断当前h数据是否已更新
|
|
|
|
+ now_h_recall_key = f"{config_.RECALL_KEY_NAME_PREFIX_BY_H}{now_dt}.{h}"
|
|
|
|
+ if not self.redis_helper.key_exists(key_name=now_h_recall_key):
|
|
|
|
+ # 未更新
|
|
|
|
+ return h_recall_mid_key
|
|
|
|
+ else:
|
|
|
|
+ # 已更新,重新获取更新mid对应列表及记录
|
|
|
|
+ self.redis_helper.del_keys(key_name=h_recall_mid_key)
|
|
|
|
+ self.redis_helper.del_keys(key_name=h_record_key)
|
|
|
|
+ ?????
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+ def rov_h_pool_recall(self, size=10, expire_time=24*3600):
|
|
|
|
+ """
|
|
|
|
+ 从小时级更新ROV召回池中获取视频
|
|
|
|
+ :param size: 获取视频个数
|
|
|
|
+ :param expire_time: 末位视频记录redis过期时间
|
|
|
|
+ :return:
|
|
|
|
+ """
|
|
|
|
+ pass
|
|
|
|
+
|
|
def rov_pool_recall(self, size=10, expire_time=24*3600):
|
|
def rov_pool_recall(self, size=10, expire_time=24*3600):
|
|
"""
|
|
"""
|
|
从ROV召回池中获取视频
|
|
从ROV召回池中获取视频
|