Kaynağa Gözat

update dbmanager

lmstack 3 yıl önce
ebeveyn
işleme
f9a5001cd5
1 değiştirilmiş dosya ile 13 ekleme ve 7 silme
  1. 13 7
      LIB/BACKEND/DBManager.py

+ 13 - 7
LIB/BACKEND/DBManager.py

@@ -84,7 +84,7 @@ class DBManager():
         i = 0
         while 1:
             try:
-                r = requests.get(url, stream=True, timeout=100,  headers={'Connection':'close'})
+                r = requests.get(url, stream=True, timeout=5,  headers={'Connection':'keep-alive'})
                 break
             except requests.exceptions.RequestException as e:
                 if (i == 0):
@@ -93,10 +93,14 @@ class DBManager():
                 time.sleep(5)
                 i+=1
         # print(r.content)
-        # pdb.set_trace()    
+        # pdb.set_trace()
+        data = [] 
         for line in r.iter_lines():
+
             if line:
-                yield json.loads(line)
+                data.append(json.loads(line))
+                # yield json.loads(line)
+        return data
 
     @staticmethod
     def _convert_to_dataframe_bms(data, mode=0):
@@ -197,6 +201,7 @@ class DBManager():
     
     @staticmethod
     def _get_data(urls,type_name,mode=0):
+        data = DBManager._download_json_data(urls)
         if type_name == 'bms':
             if mode == 0:
                 name_const = ['时间戳','GSM信号','故障等级','故障代码','总电流[A]','总电压[V]', '外电压', '总输出状态', '上锁状态', '充电状态','加热状态',
@@ -208,7 +213,8 @@ class DBManager():
             CellTNum = 0
             OtherTNumm = 0
             st = time.time()
-            for line in DBManager._download_json_data(urls):
+            
+            for line in data:
                 et = time.time()
                 try:
                     if i==0:
@@ -250,7 +256,7 @@ class DBManager():
             elif mode == 1:
                 df_all = pd.DataFrame(columns=['时间戳','定位类型', '纬度','经度','速度[km/h]','有效位'])
             
-            for line in DBManager._download_json_data(urls):
+            for line in data:
                 df_add = DBManager._convert_to_dataframe_gps(line, mode)
                 df_all = df_all.append(df_add,ignore_index=True)
             if not df_all.empty:
@@ -261,7 +267,7 @@ class DBManager():
                 df_all = pd.DataFrame(columns=['时间戳','加热目标温度', '加热超时','租赁开始时间','租赁天数','bms上传周期','gps上传周期'])
             elif mode == 1:
                 df_all = pd.DataFrame()
-            for line in DBManager._download_json_data(urls):
+            for line in data:
                 df_add = DBManager._convert_to_dataframe_system(line, mode)
                 df_all = df_all.append(df_add,ignore_index=True)
             if not df_all.empty:
@@ -274,7 +280,7 @@ class DBManager():
                                                '累计高温充电电量', '累计高温充电能量'])
             elif mode == 1:
                 df_all = pd.DataFrame(columns=['时间戳','累计充电电量','累计充电能量','累计放电电量','累计放电能量', '累积里程'])
-            for line in DBManager._download_json_data(urls):
+            for line in data:
                 df_add = DBManager._convert_to_dataframe_accum(line, mode)
                 df_all = df_all.append(df_add,ignore_index=True)
             if not df_all.empty: