Python - 在满足条件之前实现True循环

时间:2014-11-21 10:53:54

标签: python

我需要一些帮助来完成这个循环功能。我需要此函数来检查服务器是否处于RUNNING状态。如果它处于RUNNING状态,它将退出。如果服务器处于STARTING状态,它将打印STARTING状态并再次检查状态,直到服务器处于RUNNING状态。

一旦服务器处于RUNNING状态,它将打印“服务器处于RUNNING状态”并退出循环。

根据安装的组件,库和类,服务器最多需要8分钟才能进入RUNNING状态。在某些情况下,它可能需要更多时间,但我不想限制为8分钟的循环。

最长时间可以是10分钟。如果它仍然没有处于RUNNING状态10分钟后,我们可以退出循环并打印“启动服务器时出现问题”。

def wait():
    acu=0
    while True:
        #serverStatus(deploymentTarget)
        appflag=0
        if state(deploymentTarget,'Server')=='RUNNING':
            appflag=1
        elif state(deploymentTarget,'Server')=='STARTING':
            appflag=2

        if appflag == 1 :
          # If appflag has value 1, it means that the server is active, so we exist the loop.
            break
        else :
            if appflag == 2 and (acu<30):
               serverState = serverStatus(deploymentTarget)
               java.lang.Thread.sleep(10000)
               acu = acu +1
               break

由于

1 个答案:

答案 0 :(得分:0)

from time import sleep

def wait()
    acu = 0
    while not state(deploymentTarget,'Server')=='RUNNING' and (acu < 30):
        acu += 1
        if state(deploymentTarget,'Server')=='STARTING':
            print("the server is starting")
        sleep(10)
    if state(deploymentTarget,'Server')=='RUNNING':
        print("the server is running")
    else:
        print('problem starting the server')

顺便说一句,你不应该将java命令混合到你的python程序中。