使用python 发送数据到第三方接口,同步等待太慢 这里导致无法快速的推送数据到第三方,第三方可能需要5秒-10秒才会返回结果,所有这里采用了异步发生的方式,不等待第三方的HTTP状态,采用异步方式。源代码如下:
python
pip install requests-futures
from requests_futures.sessions import FuturesSession
# 初始化异步请求池
self.sreq = FuturesSession(max_workers=10)
# 原 send 位置改成:
future = self.sreq.post('http://127.0.0.1/send_data',
data=json.dumps(row),
headers=headers,
timeout=0.2
)
future.add_done_callback(self.handle_response)
#回调方法
def handle_response(self, resp_future):
try:
response = resp_future.result() # 拿结果(不阻塞主线程)
if response.status_code == 200:
logging.info('save_face成功')
else:
logging.error('save_face失败 code=%s text=%s', response.status_code, response.text)
except Exception as e:
logging.error('异步HTTP异常: %s', e)