|
@@ -63,27 +63,44 @@ def get_religion_users(now_date, project, table, key_name_prefix):
|
|
|
else:
|
|
|
hash_result[hash_tag] = [mid]
|
|
|
hash_tag_list.append(hash_tag)
|
|
|
-
|
|
|
+ log_.info(f"hash_result_count: {len(hash_result)}")
|
|
|
# 写入对应的redis
|
|
|
+ if len(hash_result) == 0:
|
|
|
+ return
|
|
|
redis_helper = RedisHelper()
|
|
|
- for key, val in hash_result:
|
|
|
+ for key, val in hash_result.items():
|
|
|
+ log_.info(f"key: {key}, val_count: {len(val)}")
|
|
|
if len(val) > 0:
|
|
|
key_name = f"{key_name_prefix}{key}:{datetime.datetime.strftime(now_date, '%Y%m%d')}"
|
|
|
redis_helper.add_data_with_set(key_name=key_name, values=val, expire_time=2 * 24 * 3600)
|
|
|
|
|
|
|
|
|
def timer_check(religion_name):
|
|
|
- project = config_.RELIGION_USERS[religion_name]['project']
|
|
|
- table = config_.RELIGION_USERS[religion_name]['table']
|
|
|
key_name_prefix = config_.RELIGION_USERS[religion_name]['key_name_prefix']
|
|
|
now_date = datetime.datetime.today()
|
|
|
- log_.info(f"now_date: {datetime.datetime.strftime(now_date, '%Y%m%d%H')}")
|
|
|
+ now_h = datetime.datetime.now().hour
|
|
|
+ log_.info(f"now_date: {datetime.datetime.strftime(now_date, '%Y%m%d')}, now_h: {now_h}")
|
|
|
+ if now_h == 3:
|
|
|
+ data_class = 'day'
|
|
|
+ else:
|
|
|
+ data_class = 'hour'
|
|
|
+ log_.info(f"data_class: {data_class}")
|
|
|
+ project = config_.RELIGION_USERS[religion_name][data_class]['project']
|
|
|
+ table = config_.RELIGION_USERS[religion_name][data_class]['table']
|
|
|
# 查看当天更新的数据是否已准备好
|
|
|
data_count = data_check(project=project, table=table, now_date=now_date)
|
|
|
if data_count > 0:
|
|
|
log_.info(f'religion_name = {religion_name}, religion_users_count = {data_count}')
|
|
|
# 数据准备好,进行更新
|
|
|
get_religion_users(now_date=now_date, project=project, table=table, key_name_prefix=key_name_prefix)
|
|
|
+ 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"religion_name: {religion_name}\n"
|
|
|
+ f"now_date: {datetime.datetime.strftime(now_date, '%Y%m%d')}\n"
|
|
|
+ f"now_h: {now_h}\n"
|
|
|
+ )
|
|
|
else:
|
|
|
# 数据没准备好,1分钟后重新检查
|
|
|
Timer(5 * 60, timer_check, args=[religion_name]).start()
|