Appearance
Timer
Scheduler that periodically calls the components connected to Continue, at a fixed interval aligned to a time of day. Use it as the start of polling, batch and heartbeat flows. It keeps the flow running.
Pins
| Pin | Kind | Types | Description |
|---|---|---|---|
| Start | start | any | Starts the scheduler loop. Leave it unconnected: the system calls it once when the flow starts. |
| Continue | continue | Viaducta.TypeSystem.Metadata.NoInputData | Called on every tick with a new, empty record and new metadata. |
Configuration
| Field | Type | Default | Description |
|---|---|---|---|
Interval | string DD:HH:MM:SS | 00:00:01:00 | Required. Time between ticks: days (00-59), hours (00-23), minutes, seconds. 00:00:01:00 = every minute, 01:00:00:00 = every day. Must be greater than 0. |
SyncStartTime | string HH:MM:SS | 00:00:00 | Required. Time of day (server local time) the ticks are aligned to. |
ExecuteOnStart | boolean | false | true: run once immediately when the flow starts, then continue on the schedule. |
Behaviour
- Tick times are
SyncStartTimeof the current day plus whole multiples ofInterval; the next tick is the first such time not in the past. Example:Interval00:06:00:00,SyncStartTime02:00:00→ 02:00, 08:00, 14:00, 20:00.Interval01:00:00:00,SyncStartTime08:00:00→ daily at 08:00. - On each tick
Continueis called and awaited: a tick never overlaps with the previous one. Ticks that fall due while a run is still in progress are skipped; the next tick is computed after the run ends. - Errors in the
Continuebranch are logged by the system and do not stop the timer. - The component shows a progress bar with the countdown to the next tick, "Executing" during a run and "Stopped" after cancellation.
- At runtime the component shows a play indicator: clicking it runs the
Continuebranch once immediately (a warning is shown if a run is already in progress). - The loop ends when the flow stops.
Notes
- Invalid
IntervalorSyncStartTime, or an interval of 0, makes the component fail when it starts. - The schedule is anchored to the current day at start. For intervals longer than a day (e.g.
07:00:00:00) the weekday depends on when the flow was (re)started. - Times use the server local time; daylight-saving changes shift the ticks.
- The loop checks the clock about every 200 ms, so ticks may be up to ~0.2 s late.
- Do not connect
Startto other components: every record arriving onStartstarts an additional, independent timer loop.
Example
json
{ "Interval": "00:00:15:00", "SyncStartTime": "00:00:00", "ExecuteOnStart": true }Timer → Database reader → Http client → ...