nagus
Goto Top

CMD Script mit Zeitschleife

Moin zusammen,
und schon mal einen guten Rutsch für Euch alle!

Folgendes Problem:

Wir haben ein CMD Script, das jede Nacht läuft und für jeden unserer Standorte ein Datenbankprogramm mit den entsprechenden Parametern aufruft, das dann wiederum irgendwelche Masken auf der Datenbank aufruft um diese dann in PDF Dateien zu schreiben. Das Script wird per Taskplaner jede Nacht gestartet.

Leider kommt es regelmäßig vor, dass das Script für einzelne Standorte hängen bleibt und somit auch die nachfolgenden nicht abgearbeitet werden. Der Hersteller hat nun erst für das nächste Release eine Lösung angekündigt, die bei uns aber frühestens im März Produktiv geht. Ich habe nun mit pskill.exe am Anfang zumindest die Lösung, dass das Script wieder jeden Tag läuft.

Ich suche nun eine Möglichkeit, das Datenbankprogramm zu starten und nach einer Zeit x (bspw. 60 min) per pskill.exe abzuschießen, um dann den nächsten Standort abzuarbeiten.

Meine Idee wäre nun das Datenbankprogramm per start befehl aufzurufen aber wie bekomme ich die Zeitschleife sauber hin? Mit ping localhost -n xx >nul wäre das zwar möglich (60 Pings sind ja nicht ganz eine Minute), ich finde das aber nicht optimal. Ich habe Bedenken dass der Dauer-Ping das System belastet. Der Datenbank-Server ist in der Zeit trotzdem Produktiv, da bei uns 24/7/365 gearbeitet wird.
Aktuell sieht das so aus (Bsp.):
e:\xxx\bin\abc.exe maske userid=fghj10/mas10ter@fghj dru_not=akt
e:\xxx\bin\abc.exe maske userid=fghj12/mas12ter@fghj dru_not=akt

Idee:
start e:\xxx\bin\abc.exe maske userid=fghj10/mas10ter@fghj dru_not=akt
ping localhost -n 3600>nul
pskill.exe abc.exe
start e:\xxx\bin\abc.exe maske userid=fghj12/mas12ter@fghj dru_not=akt
ping localhost -n 3600>nul
pskill.exe abc.exe

Was gibt es denn noch für Möglichkeiten, die das System weniger belasten?

Viele Grüße
Nagus

Content-Key: 157747

Url: https://administrator.de/contentid/157747

Printed on: April 26, 2024 at 06:04 o'clock

Member: miniversum
miniversum Dec 30, 2010 at 10:24:18 (UTC)
Goto Top
Füge doch nen AT-Befehl ein statt dem ping.
Dann wird ein geplanter task gestartet.
Bei 60 min. ist das ja recht leicht per batch die stunde aufzuaddieren.
Member: Nagus
Nagus Dec 30, 2010 at 10:59:38 (UTC)
Goto Top
Danke für den Tipp, aber ich glaube das ist auch nur suboptimal. Falls der Server (aus welchen Gründen auch immer) mal neustarten würde, wäre der Task nach wie vor eingetragen und würde ggf. am nächsten Tag los rennen. Das könnte mindestens genauso übel sein.
Member: Nagus
Nagus Dec 30, 2010 at 11:09:49 (UTC)
Goto Top
Ha ist ja alles noch viel einfacher ....

face-monkey

Einfach die sleep.exe aus dem ResourceKit nutzen ... ich werde doch alt ....

Nagus der Graue