|
@@ -1,6 +1,7 @@
|
|
import datetime
|
|
import datetime
|
|
import gevent
|
|
import gevent
|
|
from db_helper import RedisHelper
|
|
from db_helper import RedisHelper
|
|
|
|
+from utils import send_msg_to_feishu
|
|
from config import set_config
|
|
from config import set_config
|
|
from log import Log
|
|
from log import Log
|
|
|
|
|
|
@@ -24,7 +25,7 @@ def get_religion_videos(now_date):
|
|
|
|
|
|
|
|
|
|
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):
|
|
- initial_data = redis_helper.get_all_data_from_zset(initial_key_name)
|
|
|
|
|
|
+ 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:
|
|
if initial_data is None or len(initial_data) == 0:
|
|
return now_videos, religion_video_id_list
|
|
return now_videos, religion_video_id_list
|
|
|
|
|
|
@@ -98,6 +99,7 @@ def merge_with_region(now_date, now_h, region, religion_video_id_list):
|
|
new_key_name=new_dup3_24h_key_name,
|
|
new_key_name=new_dup3_24h_key_name,
|
|
now_videos=now_videos,
|
|
now_videos=now_videos,
|
|
religion_video_id_list=religion_video_id_list)
|
|
religion_video_id_list=religion_video_id_list)
|
|
|
|
+ log_.info(f"region = {region} update end!")
|
|
|
|
|
|
|
|
|
|
def merge_videos(now_date, now_h):
|
|
def merge_videos(now_date, now_h):
|
|
@@ -105,10 +107,37 @@ def merge_videos(now_date, now_h):
|
|
# 获取宗教视频列表
|
|
# 获取宗教视频列表
|
|
religion_videos = get_religion_videos(now_date=now_date)
|
|
religion_videos = get_religion_videos(now_date=now_date)
|
|
religion_video_id_list = [int(video_id) for video_id, _ in religion_videos]
|
|
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()]
|
|
region_code_list = [code for region, code in config_.REGION_CODE.items()]
|
|
task_list = [
|
|
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)
|
|
for region in region_code_list
|
|
for region in region_code_list
|
|
]
|
|
]
|
|
-
|
|
|
|
gevent.joinall(task_list)
|
|
gevent.joinall(task_list)
|
|
|
|
+ # 特殊城市视频数据准备
|
|
|
|
+ for region, city_list in config_.REGION_CITY_MAPPING.items():
|
|
|
|
+ t = [
|
|
|
|
+ gevent.spawn(
|
|
|
|
+ merge_with_region,
|
|
|
|
+ now_date, now_h, city_code, religion_video_id_list
|
|
|
|
+ )
|
|
|
|
+ for city_code in city_list
|
|
|
|
+ ]
|
|
|
|
+ gevent.joinall(t)
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+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')}"
|
|
|
|
+ )
|