Explorar o código

优化告警消息频次

dongzhaorui hai 9 meses
pai
achega
9d20bc91d2
Modificáronse 2 ficheiros con 11 adicións e 4 borrados
  1. 8 3
      qlm/source_qianlima.py
  2. 3 1
      qlm/source_qianlima_mt.py

+ 8 - 3
qlm/source_qianlima.py

@@ -81,10 +81,11 @@ def request(url, data, account, retries=5):
     usages, usages_521 = 0, 1
     while usages < retries:
         request_params = {}
+        proxies = account['proxies']
         request_params.setdefault('data', data)
         request_params.setdefault('headers', account['headers'])
         request_params.setdefault('cookies', account['cookies'])
-        request_params.setdefault('proxies', account['proxies'])
+        request_params.setdefault('proxies', proxies)
         request_params.setdefault('timeout', 60)
         try:
             resp = session.post(url, **request_params)
@@ -125,9 +126,13 @@ def request(url, data, account, retries=5):
             else:
                 break
         except requests.RequestException as e:
-            msg = f'访问失败,原因:{e.__class__.__name__}'
+            if not isinstance(e, requests.ConnectTimeout):
+                usages += 1
+                msg = f'访问失败,原因:{e.__class__.__name__}'
+            else:
+                usages = retries
+                msg = f'访问失败,原因:代理访问超时[{proxies["https"]}]'
             logger.error(msg)
-            usages += 1
 
     return resp, msg
 

+ 3 - 1
qlm/source_qianlima_mt.py

@@ -34,7 +34,9 @@ def spider(account):
                     if len(cities) == 1:
                         city = area_id
 
-                    reqeust(date, category, city, account, page_size=100)
+                    ret = reqeust(date, category, city, account, page_size=100)
+                    if ret is False:
+                        return
 
     except Exception as e:
         raise e