2014-11-21 5 views
-2

Мне нужна помощь для завершения этой функции Loop. Мне нужна эта функция, чтобы проверить, находится ли Сервер в состоянии RUNNING. Если он находится в состоянии RUNNING, он выйдет. Если сервер находится в состоянии STARTING, он распечатает STARTING sate и снова проверит состояние, пока сервер не находится в состоянии RUNNING.Python - пока True Loop до тех пор, пока не будет выполнено условие

После того, как сервер находится в RUNNING sate, он напечатает «сервер в состоянии RUNNING» и выйдет из цикла.

В зависимости от установленных компонентов, библиотек и классов сервер займет до 8 минут в состоянии RUNNING. В некоторых случаях это может занять больше времени, но я не хочу ограничивать до 8 минут для цикла.

Максимальное время может составлять 10 минут. Через 10 минут, если он еще не находится в состоянии RUNNING, мы можем выйти из цикла и напечатать «проблема с запуском сервера».

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 

Благодаря

+4

и что вы хотите? Любые вопросы? – SMA

+2

Я думаю, что есть некоторые проблемы с задолженностью, пожалуйста, очистите его. –

ответ

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 команды в вашей питона программы.

+0

Если вы используете Jython, то использование java-команд отлично. – Ffisegydd

+0

хорошо, не думаю об этом. Просто для любопытства: Было бы разумно использовать джавы здесь вместо эквивалента питона? Я могу представить, что это приведет к предотвращению накладных расходов. – Daniel

+0

Привет, Даниэль, если вы считаете, что использование Java будет лучше, чем Python, я могу попробовать это. Пожалуйста, обновите этот пост. Спасибо ... – Harish

Смежные вопросы