我的后端在openshift上运行,并通过kubernetes python客户端向其他openshift集群发出get请求。我遇到了一个问题,请求在达到默认超时值之前挂起。我在pod中做了一些测试,看看它是否可以到达其他openshift集群,并发现了以下问题:requests.get("some_other_cluster_api_url")
将挂起并在2分钟内正确返回,但requests.get("some_other_cluster_api_url", timeout=1)
在1秒内正确返回。为什么在第一种情况下请求没有立即返回?
编辑:curl也能立即返回正确的响应
1条答案
按热度按时间6qftjkof1#
根据这个Timeout文档,在第一种情况下,你没有设置任何超时值。默认情况下,请求不会超时,除非显式设置了超时值。如果没有超时,你的代码可能会挂起几分钟或更长时间。
在第二种情况下,您将超时值设置为1,这将仅在1秒内返回响应。
例如:
然后在5秒内返回响应。
有关超时请求的更多信息和用法,请参阅本文档和SO。