If timers use the database as persistence, it might happen that node1 will add a timer (by deployment if scheduled, or programatic for any SLSB).
In this case the node2 is not aware of it.
So in case of node1 crashes the timer is not executed at node2 until the node refresh the timer from the persistence.
The refresh-interval can be used for this, you need to decide based on your potential risk.
Removed timers are not executed as they are updated on timeout before started, you'll see a message that the timer is cancled.
Make sense? Any further question?
In the scenario you discussed, it is important to set this value to some number, instead of leave it as default (-1). The default value will make this parameter useless and it can be an issue in cluster environment.
In your experience, what would be a reasonable value?
That depends on the requirements.
If you have timers running every let's say minute and it is important that you don't miss it you need to set something around a minute.
If you have timers which need only to be exact for the day you might choose a refresh of 0.5 to 1 day
Thanks a lot!