Ich schrieb ein Skript in Python, um Server zu starten. In einer Schleife überprüfe ich deren Status, um sicherzustellen, dass alle Server aktiv sind, bevor ich weitermache.While-Schleife beendet, bevor alle Bedingungen erfüllt sind
Aber irgendwie die Schleife beendet, bevor alle Bedingungen erfüllt sind.
Irgendwelche Ideen, warum das passiert?
#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 bemerkte Ihre Verwendung von java.lang.Thread, die nicht sehr wie Python aussieht. Bist du sicher, dass du das richtig getaggt hast? –
@ScottMermelstein: Sieht für mich wie [Jython] (http://www.jython.org/) aus. – user2357112
während der Test True sein sollte, solange alle Server 'RUNNING' sind, sollte es zwischen jedem Test "oder" geben, da Schleife Schleife sein sollte, selbst wenn ein Server nicht läuft, für eine perfekte Implementierung füge ich eine weitere Variable hinzu - Schleifenzähler, um diese Schleife zu verlassen und Ausnahme aufzurufen, wenn alle Server nicht in einer bestimmten Zeit oder n-Schleife gestartet werden können – Jerzyk