1. 程式人生 > >有感於微課數據同步多次 也與雲上的不一致問題,大家的思路不清楚是主要原因。

有感於微課數據同步多次 也與雲上的不一致問題,大家的思路不清楚是主要原因。

bre get 數據 star enc 不一致 ble spa into

import requests
import json
# pip install requests

scheme_id=105887
start_num=0
limit_count=20
v_count=0

# 同步的思路

# 1、通過 CREATE TABLE A LIKE B 這樣的方式,對要同步的微課表進行創建目標表的鏡像,當然,可以是多張表,如果以前生成過, 建議采用 drop table if exists tablename 刪除掉這些臨時表

# 2、通過雲主機的接口,獲取指定版本下的微課,記錄進臨時表,並記錄通過接口同步下來的個數。

# 3、對比臨時表中的數據個數與通過腳本記錄的同步接口提供的數據個數,是否完全一致,如果不一致,則為同步端異常,如果一致,表示同步端正確

# 
4、檢查無誤後,刪除正式表中指定版本下東師理想提供的微課,然後將臨時表中的微課數據執行 INSERT INTO db1_name (field1,field2) SELECT field1,field2 FROM db2_name # 5、執行預熱等操作 # 6、記錄日誌,本版本的ID,版本的名稱,學科的名稱,阿裏雲上同步下來的微課個數,實際插入的微課個數,是否匹配等,以備查驗。 while True : url=http://www.edusoa.com/dsideal_yy/wkds/getWkdsInfoByScheme?scheme_id=+str(scheme_id)+
&start_num=+str(start_num)+&limit_count=+str(limit_count) r = requests.get(url) strA=str(r.content, encoding = "utf-8") if len(strA)>0: try: jsonA=json.loads(strA) for c in jsonA["wkdsList"]: v_count = v_count + 1 start_num
= int(c["ID"]) except Exception as e: print(str(start_num)+異常終止!) break else : break print(版本號+str(scheme_id)+ 已同步微課數量:+str(v_count)+個!)

同步數據,不加校驗機制,就絕對不行的,切記切記!

有感於微課數據同步多次 也與雲上的不一致問題,大家的思路不清楚是主要原因。