jenkinsapi出现HTTPConnectionPool Max retires exceeded异常

Posted 沧海一粟,何以久远

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了jenkinsapi出现HTTPConnectionPool Max retires exceeded异常相关的知识,希望对你有一定的参考价值。

python项目通过使用jenkinsapi远程控制jenkins

jenkinsapi使用的远程连接方法是requests包,requests包又使用了urllib3,urllib3又引用了httplib。

"""
urllib3 - Thread-safe connection pooling and re-using.
"""

requests使用连接池机制,连接池

http的通过设置

Connection:keep-alive

的header头来表明是长连接,通过传输层tcp的长连接实现

短连接会占用较多的端口

socket就是源IP、源端口、协议(scheme)、目的IP、目的端口的五元组

 

import requests
sess = requests.Session()
adapter = requests.adapters.HTTPAdapter(pool_connections=100, pool_maxsize=100)
sess.mount(\'http://\', adapter)
resp = sess.get("/mypage")


requests常见的一些错误提示有:
  • Failed to establish a new connection:
  • Connection pool is full, discarding connection

The newest version of Requests does in fact keep the TCP connection alive after your request.. If you do want your TCP connections to close, you can just configure the requests to not use keep-alive.

s = requests.session()
s.config[\'keep_alive\'] = False

s.keep_alive = False


requests的默认连接池是10个,每个连接池的最大连接数默认也是10个

 

https://segmentfault.com/q/1010000000517234

https://www.kawabangga.com/posts/2740

http://blog.oldboyedu.com/tcp-wait/

http://blog.csdn.net/hetaohappy/article/details/51851880

http://www.cnblogs.com/0201zcr/p/4694945.html

http://codewenda.com/%E6%88%91%E5%8F%AF%E4%BB%A5%E6%9B%B4%E6%94%B9python%E7%9A%84%E8%AF%B7%E6%B1%82%E6%A8%A1%E5%9D%97%E7%9A%84%E8%BF%9E%E6%8E%A5%E6%B1%A0%E5%A4%A7%E5%B0%8F%E5%90%97%EF%BC%9F/

http://docs.python-requests.org/zh_CN/latest/user/advanced.html

https://www.villainhr.com/page/2016/07/23/python%E4%B8%AD%E7%9A%84requests

https://www.villainhr.com/page/2016/07/23/python%E4%B8%AD%E7%9A%84requests

http://blog.csdn.net/hzrandd/article/details/74463313

以上是关于jenkinsapi出现HTTPConnectionPool Max retires exceeded异常的主要内容,如果未能解决你的问题,请参考以下文章

jenkinsapi抓取jenkins网页信息

python调用jenkinsAPI构建jenkins,并传递参数

ruby调用jenkins API使用

Jenkins学习-Jenkins的API(收藏)

怎么解决jenkins运行ANT出现失败,但是本机shell运行ANT正常问题。

jenkins api的施用怎么解决