[Gelöst] Verfallen Timer Events?

Bild Microsoft Dynamics NAV 5.xx

[Gelöst] Verfallen Timer Events?

Beitragvon beno » 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: Alles auswählen
NavTimerG.Enabled := FALSE;

eintragen und auf der letzten Zeile wieder
Code: Alles auswählen
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.
Benutzeravatar
beno
Microsoft Partner
Microsoft Partner
 
Beiträge: 130
Registriert: 26. September 2007 08:55
Wohnort: Schweiz
Realer Name: Bernhard Pulver
Arbeitsort: Lyss, Schweiz
Bezug zu Microsoft Dynamics: Microsoft Partner
Microsoft Dynamics Produkt: Microsoft Dynamics NAV
Microsoft Dynamics Version: 3.70B,4.03,5.01,2009

Re: Verfallen Timer Events?

Beitragvon beno » 6. Februar 2013 10:37

Sorry, kleiner Nachtrag:

Der Ursprung meiner Frage ist die folgende Information auf MSDN zum TimerInterval Property:

In some cases, the TimerInterval value specified may be too short to allow for complete execution of the OnTimer trigger before starting the next instance of the trigger. In this case, the number of overlapping instances is noted and the trigger is executed continuously for as long as necessary.

Problems with your computer's operating system can affect the performance of the timer.
Benutzeravatar
beno
Microsoft Partner
Microsoft Partner
 
Beiträge: 130
Registriert: 26. September 2007 08:55
Wohnort: Schweiz
Realer Name: Bernhard Pulver
Arbeitsort: Lyss, Schweiz
Bezug zu Microsoft Dynamics: Microsoft Partner
Microsoft Dynamics Produkt: Microsoft Dynamics NAV
Microsoft Dynamics Version: 3.70B,4.03,5.01,2009

Re: Verfallen Timer Events?

Beitragvon Natalie » 6. Februar 2013 11:10

beno hat geschrieben:Oder sollte ich in der Timer Funktion auf der ersten Zeile (vor der Verarbeitung)
Code: Alles auswählen
NavTimerG.Enabled := FALSE;

eintragen und auf der letzten Zeile wieder
Code: Alles auswählen
NavTimerG.Enabled := TRUE;

eintragen, damit der Timer während der Laufzeit unterbrochen wird?

Genau das macht der Standard, z.B. in Codeunit 448, Funktion HandleRequest. Am Ende der Funktion wird der Timer wieder enabled.

Ergo: Bitte nachmachen ;-)
GruĂź, Natalie

Frage beantwortet oder Problem von allein gelöst? Schreibe bitte [Gelöst] vor den Titel des ersten Beitrags.

Bitte erst suchen, dann fragen. Bitte beachte den kleinen Community-Knigge.
Kein Support per PN, Mail, IM oder Telefon! DafĂĽr ist dieses Forum da.
Benutzeravatar
Natalie
Moderator
Moderator
 
Beiträge: 9257
Registriert: 31. Oktober 2006 19:51
Bezug zu Microsoft Dynamics: Microsoft Partner
Microsoft Dynamics Produkt: Microsoft Dynamics NAV

[Gelöst] Verfallen Timer Events?

Beitragvon beno » 6. Februar 2013 12:09

Hallo Natalie,

In unserer vertikalen Lösung gibt es die CU 448 natürlich nicht... :wink:
Aber ich habe sie in der Cronus-DB gefunden und werde es genau so realisieren.

Vielen Dank!
Beno
Benutzeravatar
beno
Microsoft Partner
Microsoft Partner
 
Beiträge: 130
Registriert: 26. September 2007 08:55
Wohnort: Schweiz
Realer Name: Bernhard Pulver
Arbeitsort: Lyss, Schweiz
Bezug zu Microsoft Dynamics: Microsoft Partner
Microsoft Dynamics Produkt: Microsoft Dynamics NAV
Microsoft Dynamics Version: 3.70B,4.03,5.01,2009


ZurĂĽck zu NAV 5.xx

Wer ist online?

Mitglieder in diesem Forum: Unbekannter Bot und 1 Gast