Zdarzenia czasowe

Previous  Next



Zdarzenia zegarowe są jedną z metod zainicjowania jakiejś akcji w module skryptowym. Skrypt, który chce otrzymywać takie zdarzenia powinien zarejestrować się przy pomocy komendy antInstallHook i dostarczyć procedury timerHook, która będzie wywoływana przez system przy wystąpieniu zdarzenia zegarowego. Funkcja antInstallHook posiada jeden parametr, który określa jaki rodzaj zdarzenia skrypt ma otrzymywać. Parametrem może być dowolne zdarzenie czasowe zdefiniowane w katalogu Hooks drzewka konfiguracyjnego systemu ANT Studio.
Moduł może zarejestrować się na więcej niż jedno zdarzenie zegarowe, dlatego też procedura timerHook posiada jeden argument, którym jest nawa zdarzenia jakie spowodowało dane wywołanie. Kiedy zdarzenia przestają być potrzebne można wyrejestrować moduł przy pomocy funkcji antRemoveHook. Funkcja ta przyjmuje jako argument nazwę zdarzenia które ma być wyrejestrowane.

Poniżej pokazany został prosty skrypt, demonstracyjny obrazujący zasadę działania zdarzeń zegarowych w modułach skryptowych:
  
proc startup { } {
antInstallHook "1 s"
    antInstallHook "5 s"    
}
proc shutdown { } {
  antRemoveHook "1 s"
  antRemoveHook "5 s"
}
proc timerHook { hook } {
  antLog "timerHook $hook"
}

W efekcie wykonania takiego skryptu w logach systemu (okienko DebugLog) pojawią się wpisy przedstawione na poniższym rysunku.


graphic


Uwaga!
Wykorzystując w modułach skryptowych zdarzenia zegarowe należy pamiętać, że systemy operacyjne rodziny Windows nie są systemami czasu rzeczywistego. Okres zdarzenia zegarowego należy traktować jako przybliżenie rzeczywistego okresu wywoływania skryptu, który dodatkowo może się zmieniać wraz ze zmianą obciążenia systemu.