Python:等待并处理,直到作业状态完成

时间:2015-11-26 11:37:34

标签: python-2.7 api python-3.x

我有一个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"]

0 个答案:

没有答案