chesterdocs

#Wait for a while with a timer event

An intermediate timer event holds the process for a fixed number of days, hours, minutes and seconds, and then lets it continue — also across a restart of Chester.

#What happens when the process reaches it

flowchart LR
  A["Send reminder"] --> T(("Timer<br/>2 days"))
  T -- "the time is up" --> B["Check the reply"]
  R["Chester restarts<br/>during the wait"] -. "keeps the due time" .-> T

When the process arrives, Chester works out the time the wait ends — now plus the duration — and keeps it. When that time comes, the process moves on. If Chester is not running at that moment, the process moves on as soon as it is back; the downtime does not add to the wait.

#Configure a timer

  1. Select the timer event and open Timer configuration.
  2. In Timer Offset, click the field and set Days, Hrs., Min. and Sec. The line below shows the value that is stored, in ISO 8601 — for example P2D for two days, PT30M for half an hour.

The field is required. It takes numbers only.

#Wait for whichever comes first

To wait for a reply or give up after a while, put the timer behind an event-based gateway next to a message catch event. The path whose event happens first is taken; the other one is withdrawn. See Gateways.

This is also the only way to put a time limit on waiting: a timer boundary event on a task is not available.

#What the timer hands on

Nothing. A timer adds no data to the process.

#What a timer event cannot do

  • ❌ Wait until a date or time of day. Only a duration is offered. A timer that has a date or a cycle instead — for example from a diagram made elsewhere — cannot be deployed.
  • ❌ Repeat. There is no cycle.
  • ❌ Use a duration from the process data. The duration is fixed in the diagram; an expression is not possible.
  • ❌ Time out a task. Timer boundary events cannot be deployed. Use an event-based gateway instead, as above.
  • ⚠️ Weeks, months and years. Only days, hours, minutes and seconds work. A value such as P1W or P1M typed into a diagram gets only a warning, deploys, and then fails when the process reaches the timer.
  • ⚠️ Waits longer than about 24 days. A timer set to more than roughly 24.8 days does not wait: it fires almost immediately. Keep waits below three weeks, or chain several timers.
  • ⚠️ A duration of zero lets the process continue at once.

#What validation checks

  • A timer needs a duration: without one it gets the error that no duration is configured.
  • A duration that does not look like ISO 8601 gets a warning only.

The messages are shown in German. See Check that a process can run.