Uitvoeren van een batchbestand en wachten op resultaat alvorens door te gaan met de rest van de taak.

Categorie: BPA Platform

Categorieën

Vragen?

Heb je een vraag voor onze supportafdeling? Ga dan naar onze portal en stel ze gerust!

Beschrijving van het probleem

Binnen Orbis TaskCentre is het mogelijk om met de “Run Program” stap een batchbestand of een executable te starten. Het is tevens mogelijk om beide opties te gebruiken: In deze opzet start TaskCentre een batchbestand welke een executable met enkele parameters aanroept. In deze situatie zal men merken dat de TaskCentre taak direct na het starten van het batchbestand verder gaat met het uitvoeren van de overige stappen in de taak. In sommige gevallen is dit niet wenselijk omdat de resterende stappen van de taak afhankelijk zijn van de acties van de aangeroepen executable.

Oorzaak en oplossing van het probleem

Er zijn meerdere oorzaken voor dit gedrag binnen TaskCentre:

Instelling: Wait for program to finish
Bij het aanmaken van een Run Program stap zal deze onder de standaard instellingen niet wachten op het afronden van het uitgevoerde batchbestand. Als dit gedrag wel gewenst is moet dit expliciet in de instellingen van de stap aangegeven worden. Deze instellingen kan men op het “Options” tabblad van de Run Program stap aanzetten:

  • Navigeer naar het Options tabblad van de “Run Program” stap.
  • Zet het vinkje “Wait for the program to Finish” aan.
  • Men kan de taak met de optie “Indefinitely” oneindig op het batchbestand laten wachten.
  • De optie “For a Maximum of” kan gebruikt worden om een batchbestand en de taak te sluiten indien deze langer dan de ingestelde periode wachten.

Onderstaande afbeelding geeft deze opties weer.

Uitvoeren van een batchbestand en wachten op resultaat alvorens door te gaan met de rest van de taak. 1

Batchbestand: Correcte aanroep van onderliggende executable
Wanneer men een batchbestand gebruikt om een executable aan te roepen zal men merken dat de taak direct verder gaat met de vervolgstappen, ondanks dat bovenstaande instelling zou suggereren dat dit niet het geval zou moeten zijn. Dit gedrag is verklaarbaar: De enige actie die het batchbestand uit moet voeren is de executable aanroepen – hierna is het batchbestand afgerond. BPA Platform zal detecteren dat het batchbestand afgerond is en verder gaan met de uitvoer van zijn taak, terwijl de onderliggende executable nog bezig is met werkzaamheden uit te voeren.

Dit gedrag kan met onderstaand voorbeeld batch bestand, buiten BPA Platform gesimuleerd worden. Dit batch bestand start de calculator en sluit zichzelf vervolgens: men zal kortstondig de Command Prompt zien waarna enkel de calculator op het scherm blijft staan. Wanneer dit batchbestand in BPA Platform uitgevoerd zou worden zou de taak onmiddellijk doorlopen.

.Bat voorbeeld 1
start calc.exe
exit

Het gewenste gedrag van BPA Platform is echter te wachten tot de onderliggende executable gereed is, alvorens de rest van de taak uit te voeren. Dit is instelbaar door de code van het voorbeeld batchbestand iets aan te passen:

.Bat voorbeeld 2
start /WAIT calc.exe
exit

Wanneer dit batchbestand buiten BPA Platform gestart wordt zal de Command Prompt naar voren komen, de calculator starten en vervolgens open blijven staan totdat de calculator afgesloten wordt. Wanneer dit bestand in BPA Platform uitgevoerd wordt zal deze BPA Platform blijven wachten tot de onderliggende executable uitgevoerd is.

Orbis