Quellcode durchsuchen

更新天气接口

林轩 vor 1 Jahr
Ursprung
Commit
578af1e27a
2 geänderte Dateien mit 29 neuen und 42 gelöschten Zeilen
  1. 9 23
      crond_script/server_weather.py
  2. 20 19
      crond_script/today_weather.py

+ 9 - 23
crond_script/server_weather.py

@@ -14,20 +14,6 @@ sys.path.append(BASE_DIR)
 os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'bigdataAPI.settings')
 django.setup()
 from apps.Weather.models import District, DayData, ServerDayData
-# 配置日志级别和格式
-logging.basicConfig(level=logging.INFO, format='%(asctime)s - %(levelname)s - %(message)s')
-
-# 创建一个文件处理器,指定日志文件名和写入模式
-os.mkdir("/data/weather/") if not os.path.exists("/data/weather/") else None
-file_handler = logging.FileHandler('/data/weather/app.log')
-file_handler.setLevel(logging.INFO)
-
-# 创建一个格式化程序,用于定义日志消息的显示方式
-formatter = logging.Formatter('%(asctime)s - %(levelname)s - %(message)s')
-file_handler.setFormatter(formatter)
-
-# 将文件处理器添加到根日志记录器中
-logging.getLogger('').addHandler(file_handler)
 
 app_id = "69334222"
 app_secret = "2u4bHXHD"
@@ -85,13 +71,13 @@ def main():
         'Connection': 'keep-alive',
     }
     server_error = 0
-    logging.warning("up server day ...")
+    print("up server day ...")
     server_ct = 0
     server_days = ServerDayData.objects.all()
     server_start_ct_time = datetime.now().strftime('%Y-%m-%d %H:%M:%S')
     for server_day_obj in server_days:
         time_out_k = False 
-        logging.warning(server_day_obj.cityid)
+        print(server_day_obj.cityid)
         server_day_url = f"http://v0.yiketianqi.com/api?unescape=1&version=v91&appid=69334222&appsecret=2ME6U58N&cityid={server_day_obj.cityid}&ext=hours,aqi,life"
         server_day_response = requests.get(server_day_url, headers=headers, timeout=10)
         server_ct += 1
@@ -103,8 +89,8 @@ def main():
                     server_day_obj.save()
             else:
                 time.sleep(2)
-                logging.warning(f"cityid {server_day_obj.cityid}  error_code {server_day_response.status_code}")
-                logging.warning(f"request fail again : {server_day_obj.cityid}")
+                print(f"cityid {server_day_obj.cityid}  error_code {server_day_response.status_code}")
+                print(f"request fail again : {server_day_obj.cityid}")
                 server_day_response = requests.get(server_day_url, headers=headers, timeout=5)
                 server_ct += 1
                 if server_day_response.status_code == 200:
@@ -112,16 +98,16 @@ def main():
                     if "errcode" not in server_day_data.keys():
                         server_day_obj.content = str(server_day_data)
                         server_day_obj.save()
-                        logging.warning(f"request again success: {server_day_obj.cityid}")
+                        print(f"request again success: {server_day_obj.cityid}")
                 else:
-                    logging.warning(f"cityid {server_day_obj.cityid}  error_code {server_day_response.status_code}  again request afil")
-                    logging.error(f"error {server_error}")
+                    print(f"cityid {server_day_obj.cityid}  error_code {server_day_response.status_code}  again request afil")
+                    print(f"error {server_error}")
                     server_error += 1
                     time_out_k = True
         except Exception as e:
-            logging.warning(f"request fail again : {server_day_obj.cityid} {e.args}")
+            print(f"request fail again : {server_day_obj.cityid} {e.args}")
         if time_out_k:
-            time.sleep(5)
+            time.sleep(3)
         else:
             time.sleep(2)
     with open("/data/weather/weather_count.txt", 'a+', encoding='utf-8') as f:

+ 20 - 19
crond_script/today_weather.py

@@ -14,20 +14,20 @@ sys.path.append(BASE_DIR)
 os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'bigdataAPI.settings')
 django.setup()
 from apps.Weather.models import District, DayData, ServerDayData
-# 配置日志级别和格式
-logging.basicConfig(level=logging.INFO, format='%(asctime)s - %(levelname)s - %(message)s')
+# # 配置日志级别和格式
+# logging.basicConfig(level=logging.INFO, format='%(asctime)s - %(levelname)s - %(message)s')
 
-# 创建一个文件处理器,指定日志文件名和写入模式
-os.mkdir("/data/weather/") if not os.path.exists("/data/weather/") else None
-file_handler = logging.FileHandler('/data/weather/app.log')
-file_handler.setLevel(logging.INFO)
+# # 创建一个文件处理器,指定日志文件名和写入模式
+# os.mkdir("/data/weather/") if not os.path.exists("/data/weather/") else None
+# file_handler = logging.FileHandler('/data/weather/app.log')
+# file_handler.setLevel(logging.INFO)
 
-# 创建一个格式化程序,用于定义日志消息的显示方式
-formatter = logging.Formatter('%(asctime)s - %(levelname)s - %(message)s')
-file_handler.setFormatter(formatter)
+# # 创建一个格式化程序,用于定义日志消息的显示方式
+# formatter = logging.Formatter('%(asctime)s - %(levelname)s - %(message)s')
+# file_handler.setFormatter(formatter)
 
-# 将文件处理器添加到根日志记录器中
-logging.getLogger('').addHandler(file_handler)
+# # 将文件处理器添加到根日志记录器中
+# logging.getLogger('').addHandler(file_handler)
 
 app_id = "69334222"
 app_secret = "2u4bHXHD"
@@ -84,6 +84,7 @@ def main():
         'Accept-Encoding': 'gzip, deflate, br',
         'Connection': 'keep-alive',
     }
+    print("up today ....")
     day_data = DayData.objects.all()
     today_error = 0
     # 调用次数统计
@@ -91,7 +92,7 @@ def main():
     start_ct_time = datetime.now().strftime('%Y-%m-%d %H:%M:%S')
     for day_obj in day_data:
         time_out = False 
-        logging.warning(day_obj.cityid)
+        print(day_obj.cityid)
         today_url = f"http://v1.yiketianqi.com/api?unescape=1&version=v62&appid=69334222&appsecret=2ME6U58N&cityid={day_obj.cityid}"
         today_response = requests.get(today_url, headers=headers, timeout=10)
         day_ct += 1
@@ -102,8 +103,8 @@ def main():
                     day_obj.content = str(today_data)
                     day_obj.save()
             else:
-                logging.warning(f"cityid {day_obj.cityid}  error_code {today_response.status_code}")
-                logging.warning(f"request fail again : {day_obj.cityid}")
+                print(f"cityid {day_obj.cityid}  error_code {today_response.status_code}")
+                print(f"request fail again : {day_obj.cityid}")
                 time.sleep(2)
                 today_response = requests.get(today_url, headers=headers, timeout=5)
                 day_ct += 1
@@ -112,16 +113,16 @@ def main():
                     if "errcode" not in today_data.keys():
                         day_obj.content = str(today_data)
                         day_obj.save()
-                        logging.warning(f"request again success: {day_obj.cityid}")
+                        print(f"request again success: {day_obj.cityid}")
                 else:
-                    logging.warning(f"cityid {day_obj.cityid}  error_code {today_response.status_code}  again request fail")
-                    logging.error(f"error {today_error}")
+                    print(f"cityid {day_obj.cityid}  error_code {today_response.status_code}  again request fail")
+                    print(f"error {today_error}")
                     today_error += 1
                     time_out = True
         except Exception as e:
-            logging.warning(f"request fail again : {day_obj.cityid} {e.args}")
+            print(f"request fail again : {day_obj.cityid} {e.args}")
         if time_out:
-            time.sleep(5)
+            time.sleep(3)
         else:
             time.sleep(2)
     with open("/data/weather/weather_count.txt", 'a+', encoding='utf-8') as f: