6. Februar 2013 10:34
Hallo zusammen,
Ich starte über den NAS eine SingleInstance Codeunit, welche mittels Timer periodisch überprüft, ob in einem bestimmten Verzeichnis Textdateien vorhanden sind.
Ist mindestens 1 Textdatei vorhanden, wird diese verarbeitet und als Resultat eine neue Textdatei in ein anderes Verzeichnis geschrieben.
Ich möchte nun gerne wissen was geschieht, wenn die Verarbeitung mal länger dauert und das nächste Timer Ereignis eigentlich schon überfällig ist.
Sagen wir mal, die Periodizität ist 1 Sekunde, die Verarbeitung dauert aber 5 Sekunden. Dann wären die nachfolgenden 4 Ereignisse ja im "Stau".
Werden dann alle nachfolgenden Timer Ereignisse verspätet oder verfallen diese und kann dies zu Problemen führen?
Ich stelle mir vor, dass im beschriebenen Fall innerhalb 24 Stunden 86'400 Ereignisse (60x60x24) ausgeführt werden müssten.
Wenn nun aber ein paar Verarbeitungen länger dauern und die Ereignisse nicht verfallen sollten, würden sich die Anzahl der wartenden Ereignisse (im "Stau") immer mehr vergrössern.
Oder sollte ich in der Timer Funktion auf der ersten Zeile (vor der Verarbeitung)
- Code:
NavTimerG.Enabled := FALSE;
eintragen und auf der letzten Zeile wieder
- Code:
NavTimerG.Enabled := TRUE;
eintragen, damit der Timer während der Laufzeit unterbrochen wird?
Aber vielleicht mache ich mir da unnötige Sorgen?!?
So oder so bin ich dankbar für Eure Antworten und/oder Tipps zur Vermeidung allfälliger Probleme.
Merci, Beno
Zuletzt geändert von beno am 6. Februar 2013 12:10, insgesamt 1-mal geändert.