Skip to content

breakObject

The break object sits on a contractParams entry and gives Spiral the contract’s break rules: how long the break is, the window of worked time in which it must start, and how the resource is taken to it. From Spiral 2.5.6 this object replaces the former maxWorkPeriod and breakLength properties, which Spiral now rejects.

{
"deployMode": ALWAYS | NEVER | LATE | AUTO_HEAD | AUTO_ARV,
"after": { min, max },
}
std timeInterval
The standard break: the duration Spiral plans for.
mini timeInterval
The shortest break the resource may take at the start of the break. Reserved for the host: Helix does not act on it yet.
deployMode ALWAYS | NEVER | LATE | AUTO_HEAD | AUTO_ARV
How the resource takes its break. NEVER: the resource chooses, nothing is sent. ALWAYS / LATE: the resource is asked to head to it, LATE only when the break would otherwise be late. AUTO_HEAD: the resource is put heading and asked to arrive. AUTO_ARV: the resource is put at the break.
after { min, max }
The break window, in time worked: the break may start once min has been worked and must start by max. max is where maxWorkPeriod used to sit.

Spiral does not create stops, so the break is still a stop the host supplies: an unprod stop of a type with isBreak set (see stopParams). The contract’s break object tells Spiral where to put it. The usual break stop is its type and nothing else — no window and no option: Spiral takes its duration from std and its window from after, and keeps both adjusted as the shift runs; the output stop’s earliest and latest show the window Spiral is working to. A break authored with a window (earliest, latest) uses that in preference to the contract — a deliberate override, not the default. The one case that carries its own duration is a mini break being started (mini); how that is authored will be described when it is settled.

"break": null means this contract’s breaks are not managed at all: usually no breaks, though the host may still add a break stop by hand.

{"contractParams":{"key":"DEFAULT",
"break":{"std":"00:30:00","deployMode":"AUTO_HEAD","after":{"min":"04:30:00","max":"06:45:00"}}}},
{"contractParams":{"key":"RECOVERY","clone":"DEFAULT",
"break":{"std":"00:45:00","mini":"00:15:00","deployMode":"LATE","after":{"min":"04:00:00","max":"06:45:00"}}}},
{"contractParams":{"key":"GENERIC","clone":"DEFAULT","break":null}}

The break’s deployMode describes the break alone and uses the same words as a stop type’s deployMode; a break stop type no longer needs to carry one.