如何解决如何从python中的http端点创建用于验证状态的循环?
我必须创建 GitLab 管道的验证。 我触发管道,获取其 ID,然后检查该特定管道的状态。 请求 GitLab API 管道端点我得到了一些阶段 - “待定”、“运行”和之后的“成功”或“失败”。 我是python的初学者。 如何使用 python 请求重试该 API 调用并仅获得“成功”或“失败”的结果? 我确实有:
triggered_pipeline_id = "7532"
url = "{0}{1}".format(pipelineurl,triggered_pipeline_id)
response = requests.get(url=url,verify=False,headers=apidata)
raw_content = response.content.decode('UTF-8')
json_output = json.loads(raw_content)
returned_id = str(json_output["id"])
returned_status = str(json_output["status"])
这将立即为我提供状态 - 但它是“待定”或“正在运行”。几秒钟后,它会“成功”或“失败”。但与其睡几秒钟,我想最好重试直到响应“成功”或“失败”。
我认为“while”循环是最好的 - 但我不确定如何实现。
我想到了这一点:
while (( returned_status == "pending" ) || ( returned_status == "running" )):
time.sleep(5)
这是正确的还是我应该怎么做? 提前感谢您的提示:)
解决方法
假设您的其余代码正常工作...
response = requests.get(url=url,verify=False,headers=apidata)
json_output = response.json()
returned_status = json_output["status"]
while returned_status in ("pending","running"):
time.sleep(5)
# repeat the request
response = requests.get(url=url,headers=apidata)
json_output = response.json()
returned_status = json_output["status"]
# continue with the rest of your code
print(returned_status)
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。