feat(card): 增加请求重试,异常错误提醒
This commit is contained in:
@@ -7,13 +7,13 @@
|
||||
import logging
|
||||
import re
|
||||
|
||||
from curl_cffi import requests
|
||||
from curl_cffi import requests, CurlError
|
||||
from fake_useragent import UserAgent
|
||||
from parsel import Selector
|
||||
from simple_spider_tool import jsonpath, regx_match, format_json
|
||||
|
||||
from config import settings
|
||||
from core.base.exceptions import SearchCardNotFound, SearchCardRetry
|
||||
from core.base.exceptions import SearchCardNotFound, SearchCardRetry, SearchCardRetryFail
|
||||
from core.utils.helper import async_retry
|
||||
|
||||
logger = logging.getLogger(__name__)
|
||||
@@ -46,6 +46,7 @@ class SiteApi:
|
||||
data=None,
|
||||
json=None,
|
||||
use_abroad_proxy: bool = False,
|
||||
retry_num: int = 3,
|
||||
**kwargs
|
||||
):
|
||||
headers = {
|
||||
@@ -59,11 +60,19 @@ class SiteApi:
|
||||
'http': settings.OVERSEAS_PROXY,
|
||||
'https': settings.OVERSEAS_PROXY
|
||||
}
|
||||
r = await self.session.request(
|
||||
method, url, headers=headers, params=params, data=data, json=json, **kwargs
|
||||
)
|
||||
logger.debug(f'耗时:{url} {r.elapsed}')
|
||||
return r
|
||||
|
||||
for i in range(retry_num):
|
||||
try:
|
||||
r = await self.session.request(
|
||||
method, url, headers=headers, params=params, data=data, json=json, **kwargs
|
||||
)
|
||||
logger.debug(f'耗时:{url} {r.elapsed}')
|
||||
return r
|
||||
|
||||
except CurlError as e:
|
||||
logger.error(e)
|
||||
if i == retry_num - 1:
|
||||
raise SearchCardRetryFail('请重试,如多次无效反馈管理员')
|
||||
|
||||
async def get(self, url, headers=None, params=None, **kwargs):
|
||||
return await self.request('GET', url, headers=headers, params=params, **kwargs)
|
||||
|
||||
Reference in New Issue
Block a user