A Gate is a condition a job or step has to satisfy before it's allowed to run or keep running -- think of a real gate: closed, nothing gets through; open, it does. A file showing up, CPU/memory/runtime crossing a threshold, or another job's status are just different things a gate checks to decide whether it's currently open or closed. What happens at that gate depends on how it's set up: a file showing up can open a gate that starts a brand-new run; CPU crossing your threshold can close a gate that pauses or stops a run already in progress. The consequence changes -- start, pause, or stop -- but the gate itself works the same way every time: it's either open right now, or it isn't.

Create one under Admin -> Gates, then attach it to any job or step from the job's Gates button, a step's own gate icon, or the step detail panel's Gates... button.

Pause vs. Stop

Each gate is created as either a Pause gate (parks the run until the condition clears) or a Stop gate (ends the run where it is) -- same idea as the existing on-success/on-failure "quit job" behavior.

Job-level vs. step-level (Continue-scope gates)

This section is about a gate attached the normal way -- pausing or stopping a job/step that's already running. A gate attached to a specific step is checked once, right after that step finishes. A gate attached to the whole job is checked after every top-level step finishes, not just the last one -- so a job-level runtime gate gets a chance to fire the moment the run has gone on too long, whatever step happens to be wrapping up at that moment. A File Exists gate set up to start a run instead works completely differently -- see "File-watch gates can also start a job" below.

Multiple gates on one job or step: AND vs. OR

By default (OR), the first attached gate to breach trips the group. Check "Require ALL attached gates to breach at once" in the Gates dialog to switch that scope to AND -- every gate in the group has to be breaching at the same time. AND only makes sense when every gate in the group is the same type (all Pause, or all Stop) -- mixing them is rejected.

Not the same as a Job Trigger

These don't overlap, on purpose: a Job-Status gate can only ever pause or stop a job/step that's already running -- it has no way to start a new one. A Job Trigger is the only thing that starts a new run of a different job once one job finishes. So "run Job B when Job A succeeds" is always a Job Trigger, never a gate -- there's no gate configuration that does that job.

File-watch gates can also start a job

The one exception to "a gate only pauses/stops something already running": a Start-scope File Exists gate, attached at the whole-job level. It isn't checked at a step boundary at all -- Worker polls every active job that has no run currently in flight roughly every 2 seconds, and the moment the watched file shows up, it creates a brand-new run right then, the same way clicking Run would. See File-Watch Gates for how to set one up. This Start option only exists for File Exists gates attached at the job level -- every other condition type, and every step-level attach, is Continue-scope only.

See also: Glossary for related terms.


Related: 

Job Triggers 

Schedules

File-Watch Gates

Gate Pause/Stop History