Browse Source

天气接口增加次数统计

林轩 1 year ago
parent
commit
f65f009165
1 changed files with 14 additions and 1 deletions
  1. 14 1
      crond_script/crond_weather.py

+ 14 - 1
crond_script/crond_weather.py

@@ -1,3 +1,4 @@
+from datetime import datetime
 import requests
 import sqlite3
 import json
@@ -85,11 +86,15 @@ def main():
     }
     day_data = DayData.objects.all()
     today_error = 0
+    # 调用次数统计
+    day_ct = 0
+    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)
         today_url = f"http://v0.yiketianqi.com/api?unescape=1&version=v62&appid=69334222&appsecret=2ME6U58N&cityid={day_obj.cityid}"
         today_response = requests.get(today_url, headers=headers, timeout=5)
+        day_ct += 1
         try:
             if today_response.status_code == 200:
                 today_data = json.loads(today_response.text)
@@ -101,6 +106,7 @@ def main():
                 logging.warning(f"request fail again : {day_obj.cityid}")
                 time.sleep(2)
                 today_response = requests.get(today_url, headers=headers, timeout=5)
+                day_ct += 1
                 if today_response.status_code == 200:
                     today_data = json.loads(today_response.text)
                     if "errcode" not in today_data.keys():
@@ -118,17 +124,22 @@ def main():
             time.sleep(5)
         else:
             time.sleep(2)
+    with open("/data/weather/weather_count.txt", 'a+', encoding='utf-8') as f:
+        f.write(f"开始时间:{start_ct_time}  结束时间:{datetime.now().strftime('%Y-%m-%d %H:%M:%S')} 调用次数:{day_ct}")
         
         
 
     server_error = 0
     logging.warning("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)
         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=5)
+        server_ct += 1
         try:
             if server_day_response.status_code == 200:
                 server_day_data = json.loads(server_day_response.text)
@@ -140,6 +151,7 @@ def main():
                 logging.warning(f"cityid {day_obj.cityid}  error_code {server_day_response.status_code}")
                 logging.warning(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:
                     server_day_data = json.loads(server_day_response.text)
                     if "errcode" not in server_day_data.keys():
@@ -157,7 +169,8 @@ def main():
             time.sleep(5)
         else:
             time.sleep(2)
-        
+    with open("/data/weather/weather_count.txt", 'a+', encoding='utf-8') as f:
+        f.write(f"开始时间:{server_start_ct_time}  结束时间:{datetime.now().strftime('%Y-%m-%d %H:%M:%S')} 调用次数:{server_ct}")
 
 
     """