|
@@ -65,25 +65,38 @@ def process_data(data_obj):
|
|
|
return result
|
|
|
|
|
|
|
|
|
+def get_data(date_info):
|
|
|
+ """
|
|
|
+ 从大数据表获取昨天的数据
|
|
|
+ :return:
|
|
|
+ """
|
|
|
+ for i in range(3):
|
|
|
+ ori_data = read_odps_data(date_info)
|
|
|
+ if ori_data:
|
|
|
+ return ori_data
|
|
|
+ print("defeat to read data")
|
|
|
+ time.sleep(30 * 60)
|
|
|
+ return []
|
|
|
+
|
|
|
+
|
|
|
def main():
|
|
|
"""
|
|
|
main函数
|
|
|
0. 插入一行空行,用于写入数据
|
|
|
1. 先从大数据 BI 表读取数据,
|
|
|
- 2. 从需要读取前一天的数据中把数据读取出来,更新到 data_list 中
|
|
|
+ 2. 从需要读取前一天的数据中把数据读取出来,更新到 data_list 中, 如果没有读取到数据,则重复 3 次, 每次重复间隔为 30mins
|
|
|
3. 把数据插入飞书表,并且把数据备份到MySQL数据表中
|
|
|
4. 定时任务更新 MySQL 表
|
|
|
:return: None
|
|
|
"""
|
|
|
F = Feishu(document_token="ZYNBsZ5lPhsKFltb6ghclfJqngb")
|
|
|
- F.prepend_value(sheet_id="eb6d24", values=[[0]], ranges="A5:A5")
|
|
|
+ F.prepend_value(sheet_id="eb6d24", values=[["fail to read data"]], ranges="A5:A5")
|
|
|
|
|
|
# 读数据
|
|
|
date_info = get_yesterday_str()
|
|
|
- # date_info = "20240225"
|
|
|
- ori_data = read_odps_data(date_info)
|
|
|
+ # date_info = "20240310"
|
|
|
+ ori_data = get_data(date_info)
|
|
|
if not ori_data:
|
|
|
- print("No Yesterday Data")
|
|
|
return
|
|
|
|
|
|
# 处理元数据
|