| 
					
				 | 
			
			
				@@ -1,4 +1,5 @@ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import datetime 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import traceback 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import gevent 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 from db_helper import RedisHelper 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 from utils import send_msg_to_feishu 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -7,24 +8,25 @@ from log import Log 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 config_, env = set_config() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 log_ = Log() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-initial_param = {'data': 'data1', 'rule': 'rule4'} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-new_param = config_.LHK_RULE_PARAMS 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+# initial_param = {'data': 'data1', 'rule': 'rule4'} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+# new_param = config_.LHK_RULE_PARAMS 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 redis_helper = RedisHelper() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-def get_religion_videos(now_date): 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+def get_religion_videos(now_date, religion_name): 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     """获取宗教视频列表""" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    religion_key_name = f"{config_.KEY_NAME_PREFIX_RELIGION_VIDEOS}{datetime.datetime.strftime(now_date, '%Y%m%d')}" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    key_name_prefix = config_.RELIGION_VIDEOS[religion_name].get('key_name_prefix') 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    religion_key_name = f"{key_name_prefix}{datetime.datetime.strftime(now_date, '%Y%m%d')}" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     if not redis_helper.key_exists(religion_key_name): 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         redis_dt = datetime.datetime.strftime((now_date - datetime.timedelta(days=1)), '%Y%m%d') 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        religion_key_name = f"{config_.KEY_NAME_PREFIX_RELIGION_VIDEOS}{redis_dt}" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        religion_key_name = f"{key_name_prefix}{redis_dt}" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     religion_videos = redis_helper.get_all_data_from_zset(key_name=religion_key_name, desc=True, with_scores=True) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     if religion_videos is None: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         return [] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     return religion_videos 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-def merge_process(initial_key_name, new_key_name, now_videos, religion_video_id_list): 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+def merge_process(initial_key_name, new_key_name, now_videos, religion_video_id_list, rank_count): 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     initial_data = redis_helper.get_all_data_from_zset(key_name=initial_key_name, with_scores=True) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     if initial_data is None or len(initial_data) == 0: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         return now_videos, religion_video_id_list 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -39,7 +41,7 @@ def merge_process(initial_key_name, new_key_name, now_videos, religion_video_id_ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         for i, video_id in enumerate(initial_video_ids): 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             new_video_ids.append(video_id) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             now_videos.append(video_id) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            if i % 2 == 1 and len(religion_video_id_list) > 0: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            if i % rank_count == 1 and len(religion_video_id_list) > 0: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 new_video_ids.append(religion_video_id_list[0]) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 now_videos.append(religion_video_id_list[0]) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 religion_video_id_list = religion_video_id_list[1:] 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -55,62 +57,73 @@ def merge_process(initial_key_name, new_key_name, now_videos, religion_video_id_ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     return now_videos, religion_video_id_list 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-def merge_with_region(now_date, now_h, region, religion_video_id_list): 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+def merge_with_region(now_date, now_h, region, religion_video_id_list, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                      initial_param, lhk_data_key, lhk_rule_key, rank_count): 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     initial_data_key = initial_param.get('data') 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     initial_rule_key = initial_param.get('rule') 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    new_data_key = new_param.get('data') 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    new_rule_key = new_param.get('rule') 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     now_videos = [] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     # 地域小时级数据合并 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     region_h_key_name = f"{config_.RECALL_KEY_NAME_PREFIX_REGION_BY_H}{region}:{initial_data_key}:{initial_rule_key}:" \ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                         f"{datetime.datetime.strftime(now_date, '%Y%m%d')}:{now_h}" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    new_region_h_key_name = f"{config_.RECALL_KEY_NAME_PREFIX_REGION_BY_H}{region}:{new_data_key}:{new_rule_key}:" \ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    new_region_h_key_name = f"{config_.RECALL_KEY_NAME_PREFIX_REGION_BY_H}{region}:{lhk_data_key}:{lhk_rule_key}:" \ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                             f"{datetime.datetime.strftime(now_date, '%Y%m%d')}:{now_h}" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     now_videos, religion_video_id_list = merge_process(initial_key_name=region_h_key_name, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                                        new_key_name=new_region_h_key_name, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                                        now_videos=now_videos, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                                       religion_video_id_list=religion_video_id_list) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                                       religion_video_id_list=religion_video_id_list, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                                       rank_count=rank_count) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     # 地域24h数据合并 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     region_24h_key_name = f"{config_.RECALL_KEY_NAME_PREFIX_DUP1_REGION_24H_H}{region}:{initial_data_key}:" \ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                           f"{initial_rule_key}:{datetime.datetime.strftime(now_date, '%Y%m%d')}:{now_h}" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    new_region_24h_key_name = f"{config_.RECALL_KEY_NAME_PREFIX_DUP1_REGION_24H_H}{region}:{new_data_key}:" \ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                              f"{new_rule_key}:{datetime.datetime.strftime(now_date, '%Y%m%d')}:{now_h}" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    new_region_24h_key_name = f"{config_.RECALL_KEY_NAME_PREFIX_DUP1_REGION_24H_H}{region}:{lhk_data_key}:" \ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                              f"{lhk_rule_key}:{datetime.datetime.strftime(now_date, '%Y%m%d')}:{now_h}" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     now_videos, religion_video_id_list = merge_process(initial_key_name=region_24h_key_name, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                                        new_key_name=new_region_24h_key_name, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                                        now_videos=now_videos, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                                       religion_video_id_list=religion_video_id_list) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                                       religion_video_id_list=religion_video_id_list, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                                       rank_count=rank_count) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     # 24h筛选数据合并 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     dup2_24h_key_name = f"{config_.RECALL_KEY_NAME_PREFIX_DUP2_REGION_24H_H}{region}:{initial_data_key}:" \ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                         f"{initial_rule_key}:{datetime.datetime.strftime(now_date, '%Y%m%d')}:{now_h}" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    new_dup2_24h_key_name = f"{config_.RECALL_KEY_NAME_PREFIX_DUP2_REGION_24H_H}{region}:{new_data_key}:" \ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                            f"{new_rule_key}:{datetime.datetime.strftime(now_date, '%Y%m%d')}:{now_h}" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    new_dup2_24h_key_name = f"{config_.RECALL_KEY_NAME_PREFIX_DUP2_REGION_24H_H}{region}:{lhk_data_key}:" \ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                            f"{lhk_rule_key}:{datetime.datetime.strftime(now_date, '%Y%m%d')}:{now_h}" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     now_videos, religion_video_id_list = merge_process(initial_key_name=dup2_24h_key_name, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                                        new_key_name=new_dup2_24h_key_name, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                                        now_videos=now_videos, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                                       religion_video_id_list=religion_video_id_list) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                                       religion_video_id_list=religion_video_id_list, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                                       rank_count=rank_count) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     # 24h筛选后剩余数据合并 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     dup3_24h_key_name = f"{config_.RECALL_KEY_NAME_PREFIX_DUP3_REGION_24H_H}{region}:{initial_data_key}:" \ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                         f"{initial_rule_key}:{datetime.datetime.strftime(now_date, '%Y%m%d')}:{now_h}" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    new_dup3_24h_key_name = f"{config_.RECALL_KEY_NAME_PREFIX_DUP3_REGION_24H_H}{region}:{new_data_key}:" \ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                            f"{new_rule_key}:{datetime.datetime.strftime(now_date, '%Y%m%d')}:{now_h}" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    new_dup3_24h_key_name = f"{config_.RECALL_KEY_NAME_PREFIX_DUP3_REGION_24H_H}{region}:{lhk_data_key}:" \ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                            f"{lhk_rule_key}:{datetime.datetime.strftime(now_date, '%Y%m%d')}:{now_h}" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     now_videos, religion_video_id_list = merge_process(initial_key_name=dup3_24h_key_name, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                                        new_key_name=new_dup3_24h_key_name, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                                        now_videos=now_videos, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                                       religion_video_id_list=religion_video_id_list) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                                       religion_video_id_list=religion_video_id_list, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                                       rank_count=rank_count) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     log_.info(f"region = {region} update end!") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-def merge_videos(now_date, now_h): 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+def merge_videos(now_date, now_h, param, rule_params): 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     """将宗教视频插入到默认视频列表中""" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     # 获取宗教视频列表 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    religion_videos = get_religion_videos(now_date=now_date) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    lhk_data_key = param.get('data') 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    lhk_rule_key = param.get('rule') 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    religion_name = rule_params.get(lhk_rule_key).get('religion_name') 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    initial_param = rule_params.get(lhk_rule_key).get('initial_param') 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    rank_count = rule_params.get(lhk_rule_key).get('rank_count') 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    religion_videos = get_religion_videos(now_date=now_date, religion_name=religion_name) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     religion_video_id_list = [int(video_id) for video_id, _ in religion_videos] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     # 列表合并 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     region_code_list = [code for region, code in config_.REGION_CODE.items()] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     task_list = [ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        gevent.spawn(merge_with_region, now_date, now_h, region, religion_video_id_list) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        gevent.spawn( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            merge_with_region, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            now_date, now_h, region, religion_video_id_list, initial_param, lhk_data_key, lhk_rule_key, rank_count 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        ) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         for region in region_code_list 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     ] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     gevent.joinall(task_list) 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -119,25 +132,46 @@ def merge_videos(now_date, now_h): 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         t = [ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             gevent.spawn( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 merge_with_region, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                now_date, now_h, city_code, religion_video_id_list 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                now_date, now_h, city_code, religion_video_id_list, initial_param, lhk_data_key, lhk_rule_key, rank_count 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             ) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             for city_code in city_list 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         ] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         gevent.joinall(t) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+def main(): 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    try: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        log_.info(f"laohaokan recommend data update start...") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        now_date = datetime.datetime.today() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        now_h = datetime.datetime.now().hour 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        log_.info(f"now_date: {datetime.datetime.strftime(now_date, '%Y%m%d%H')}") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        lhk_rule_params = config_.LHK_RULE_PARAMS 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        rule_params = lhk_rule_params.get('rule_params', {}) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        params_list = lhk_rule_params.get('params_list', []) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        for param in params_list: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            log_.info(f"param = {param} update start...") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            merge_videos(now_date, now_h, param, rule_params) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            log_.info(f"param = {param} update end!") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        log_.info(f"laohaokan recommend data update end!") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        send_msg_to_feishu( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            webhook=config_.FEISHU_ROBOT['server_robot'].get('webhook'), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            key_word=config_.FEISHU_ROBOT['server_robot'].get('key_word'), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            msg_text=f"rov-offline{config_.ENV_TEXT} - 老好看推荐视频数据更新完成\n" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                     f"now_date: {datetime.datetime.strftime(now_date, '%Y%m%d')}\n" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                     f"now_h: {now_h}\n" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                     f"finished time: {datetime.datetime.strftime(datetime.datetime.now(), '%Y%m%d %H:%M:%S')}" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        ) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    except Exception as e: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        log_.error(f"老好看推荐视频数据更新失败, exception: {e}, traceback: {traceback.format_exc()}") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        send_msg_to_feishu( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            webhook=config_.FEISHU_ROBOT['server_robot'].get('webhook'), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            key_word=config_.FEISHU_ROBOT['server_robot'].get('key_word'), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            msg_text=f"rov-offline{config_.ENV_TEXT} - 老好看推荐视频数据更新失败\n" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                     f"exception: {e}\n" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                     f"traceback: {traceback.format_exc()}" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        ) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 if __name__ == '__main__': 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    log_.info(f"laohaokan recommend data update start...") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    now_date = datetime.datetime.today() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    now_h = datetime.datetime.now().hour 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    log_.info(f"now_date: {datetime.datetime.strftime(now_date, '%Y%m%d%H')}") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    merge_videos(now_date, now_h) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    log_.info(f"laohaokan recommend data update end!") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    send_msg_to_feishu( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        webhook=config_.FEISHU_ROBOT['server_robot'].get('webhook'), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        key_word=config_.FEISHU_ROBOT['server_robot'].get('key_word'), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        msg_text=f"rov-offline{config_.ENV_TEXT} - 老好看推荐视频数据更新完成\n" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                 f"now_date: {datetime.datetime.strftime(now_date, '%Y%m%d')}\n" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                 f"now_h: {now_h}\n" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                 f"finished time: {datetime.datetime.strftime(datetime.datetime.now(), '%Y%m%d %H:%M:%S')}" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    ) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    main() 
			 |