Liste mit Zeiten abarbeiten --> Frage zur Event (Timer) Verwendung

Hallo,

ich stehe gerade auf dem Schlacuh und könnte einen Tip brauchen.

Ich möchte eine Datei abarbeiten, in der zeilenweise Daten drin stehen. Erste Spalte enthält eine laufende Nummer, die zweite ein Datum oder einen Stern (Wildcard), die dritte Spalte eine Zeit und dann kommen die Daten.

Die Zeiten (und natürlich auch das Datum) können sehr dicht aufeinander folgen (evtl. sogar mehrere Zeilen mit derselben Zeit), aber auch meherere Sekunden, Minuten oder sogar Tage (dann ist die Tagesspalte natürlich gesetzt) auseinander liegen.

Dazu wollte ich gerne eine Loop schreiben, die sich zunächst auf die Zeile positioniert, die noch nicht abgearbeitet ist (wir in einer Child-Var vom Script gespeichert).

Dann wird nachgesehen, ob das Datum & Uhrzeit in der Zukunft liegt (falls nicht, abarbeiten und nächste Zeile lesen).

Wenn es in der Zukunft liegt, wird die Zeilennummer in der Variablen gespeichert und ein zyklischer Event gesetzt, der der Uhrzeit entspricht, sodass das Scipt dann wieder gestartet wird.

Dann geht das ganze von vorne los.

Meine Fragen:

1.) Es wird mehrere solcher Scripte geben, die parallel laufen sollen. Wie sieht es mit der Belastung von IPS aus, wenn z.B. 10 solcher Events parallel laufen?

2.) Nehmen wir folgedne Reihe an:


10 * 12:30:10 <daten>
11 * 12:30:10 <daten>
12 * 12:30:10 <daten>
13 * 12:30:11 <daten>
14 * 12:32:00 <daten>
15 * 12:45:00 <daten>

Wenn der Event auf 12:30:10 steht (Zeile 10 „ist dran“), um diese Uhrzeit aber gerade alle 10 Threads belegt sind, könnte es ja sein, dass das Script verzögert z.B. erst um 12:30:11 aufgerufen wird. Dann wäre es möglich, durch puffern der Zeit der ersten abzuarbeitenden Zeile (die ja durch die Zeilennummer festgelegt ist und damit immer funktioniert) die Folgezeilen,also hier 11 und 12 mit == selbe Zeit auch abzuarbeiten (denn die aktuelle Zeit wäre ja schon später).

Was aber in dem Fall, dass die Ausführung derart Verzögert anläuft, dass die aktuelle Zeit schon nach der Zeit der nächsten Daten (also z.B. 12:31:12) ist? dann kann ich zwar die Zeilen 10, 11, 12 erwischen, aber bei Zeile 13 wäre der Zeitpunkt der Daten früher als der Zeitpunkt des Scriptstarts…

Wie ist das einzufangen?

3.) Was, wenn IPS „hängt“ oder zufällig in der Zeit, in der die Abarbeitung der Daten stattfinden soll, heruntergefharen und nach einigenMinuten wieder hochgefahren wird?

Nehmen wir z.B. bei obigem Beispiel an, Zeile 13 wäre gerade abgearbeitet worden, es ist 12:31:00 und IPS wird heruntergefahren. Event steht auf 12:32:00 inclusive Datum, natürlich. Um 12:50:00 wir IPS wieder gestartet.

Dann wird der Event doch niemals mehr ausgeführt (er liegt ja in der Vergangeheit) und die ganze Abarbeitung ist dahin … oder?

Wie ist das einzufangen?

Danke
jwka