我在等待响应200时遇到问题。执行我的get请求时,预期的资源不存在,响应为204。 我想做的是等待两分钟,可以说每隔10秒打电话检查响应是否为200。如果时间到了,我想返回一个错误。
def waitForResourceAvailable(response):
while response.status_code == 204:
time.sleep(10)
if response.status_code == 200:
break
这很好,但是如果状态码200在指定时间内没有出现,我需要一个解决方案退出循环。
答案 0 :(得分:2)
请注意,如果在检查while
条件时响应的值发生变化,它也会停止迭代,因此while内的if语句就不需要了。>
注意:响应对象必须能够更改其值,否则它将始终相同,因为它只是一个变量而不是检查响应的函数
您可以添加带有时间值的简单if
语句
def waitForResourceAvailable(response, time):
timer = 0
while response.status_code == 204:
time.sleep(10)
timer += 10
if timer > time:
break
if response.status_code == 200:
break
使它变得更好会像:
def waitForResourceAvailable(response, timeout, timewait):
timer = 0
while response.status_code == 204:
time.sleep(timewait)
timer += timewait
if timer > timeout:
break
if response.status_code == 200:
break