我有一个request.post API的脚本 在帖子之后,脚本导航到检查状态 功能,如果状态未完成 作业状态有4种可能的值。状态以Pending,Processing和Completed的顺序开始,但可能出现Error。当我发布api调用时,它执行了日志运行。响应状态的变化与进度条类似。它从Pending开始,将其移至Processing和Completed,并且可能出现错误(与时间无关)。 最终当状态完成时,这就是我想要的。我有一个永远的循环。我需要再次发出api请求并循环,直到状态完成。这就是我现在所拥有的。
def checkJournalStatus(journalRunNumber, username, password):
base = "https://apisandbox-api.com/rest/v1/journal-runs/"
url = base + journalRunNumber
response = requests.get(url, auth= (username, password) )
journalStatus = response.json()
while journalStatus["success"]:
print (journalStatus["success"])
if journalStatus["status"] == "Pending":
sleep(3)
elif journalStatus["status"] =='Processing':
sleep(3) #sleep again
elif journalStatus["status"] =='Error':
print ("An error occured")
sys.exit(0)
else:
journalStatus["status"] =='Completed'
journalStatus["success"]= False
return journalStatus["number"]