저는 서버를 시작하기 위해 python으로 스크립트를 작성했습니다. 루프가 진행되는 동안 모든 서버가 작동하는지 확인하기 위해 상태를 확인하고 있습니다.모든 조건이 충족되기 전에 루프가 종료됩니다.
하지만 어떻게 든 루프는 모든 조건이 충족되기 전에 종료됩니다.
왜 이런 일이 발생했는지에 대한 아이디어가 있습니까?
#check if all servers are RUNNING
while (osb2State!='RUNNING') and (osb3State!='RUNNING') and (osb4State!='RUNNING') and (osb5State!='RUNNING') and (osb6State!='RUNNING') :
cd('domainRuntime:/ServerLifeCycleRuntimes/'+sOSB2);
osb2State = cmo.getState();
if osb2State == 'ADMIN':
resume(sOSB2);
cd('domainRuntime:/ServerLifeCycleRuntimes/'+sOSB3);
osb3State = cmo.getState();
if osb3State == 'ADMIN':
resume(sOSB3);
cd('domainRuntime:/ServerLifeCycleRuntimes/'+sOSB4);
osb4State = cmo.getState();
if osb4State == 'ADMIN':
resume(sOSB4);
cd('domainRuntime:/ServerLifeCycleRuntimes/'+sOSB5);
osb5State = cmo.getState();
if osb5State == 'ADMIN':
resume(sOSB5);
cd('domainRuntime:/ServerLifeCycleRuntimes/'+sOSB6);
osb6State = cmo.getState();
if osb6State == 'ADMIN':
resume(sOSB6);
java.lang.Thread.sleep(5000);
@abadamso는 java.lang.Thread를 사용했음을 눈치 챘지만 파이썬과 매우 흡사합니다. 이 태그가 올바르게 붙어 있습니까? –
@ScottMermelstein : 저에게 [Jython] (http://www.jython.org/)처럼 보입니다. – user2357112
테스트가 True이면 모든 서버가 '실행 중'이어야합니다. 따라서 하나의 서버가 실행되고 있지 않아도 루프가 루핑되어야하기 때문에 각 테스트 사이에 "또는"가 있어야합니다. 완벽한 구현을 위해 하나의 변수를 추가합니다. 루프 카운터를 사용하여이 루프를 종료하고 모든 서버가 잠시 동안 작동하지 않거나 n 루프가 실행되지 않는 경우 예외를 호출합니다. – Jerzyk