<-- back to the index of Rosetta examples

#### timers

Create timers that are going to call back an action in the background.

##### Example implementations

awk | bas | fawk | lua | pas | pl | py | tcl

##### Explanation, step by step

Create a function timer_cb that will be registered as an action. This is what the timer will execute. It only prints its arguments in the message log so it is easy to trace how it is called.

Different combination of timer initialization arguments for period and count (2nd and 3rd argument of addtimer()):

period | count | effect
--- | --- | ---
0 | 1 | call timer_cb once, but only after the script finished initialization (async); 0 means "0 seconds after the current script call returns" - but in practice this is a shortest non-zero time the timer system can do
1.2 | 1 | call timer_cb once, in 1.2 sec from now
0.5 | 3 | call timer_cb three times, with 0.5 sec in between

All timers start counting after a short period of time after the script's initialization finished. The three timers are kept track on separately.