Schedules and file triggers
A schedule runs a pipeline or a Flow by itself: on a timer, or, for a pipeline, when new files arrive.
On a timer
Choose Every N minutes, Hourly, Daily, Weekly or Monthly, or write your own cron expression. Times are in the instance's timezone (Settings → General). The dialog describes the schedule in words before you save it.
When files arrive
A pipeline whose version reads from S3, Azure Blob Storage, Google Cloud Storage or SFTP can run when new files land there. The schedule checks the folder every few minutes (one at the least) and starts one run when something new has arrived; that run reads only the files it has not read before.
- When the pipeline runs each file separately, every new file gets its own run, named by its full path.
- On SFTP, a file still being uploaded is left until it stops changing.
- If the folder cannot be listed three checks in a row, the schedule records a failed run saying why, so the alert fires. A single blip alerts nobody.
Rules every schedule follows
- It belongs to one environment, Staging or Production, chosen when it is created, and runs whatever version that environment holds when it fires. Putting a pipeline on a Production schedule needs Production access on its connections.
- It never overlaps itself. If the previous run is still going when the next time comes, that time is skipped.
- It never runs beside another run with the same values. A pipeline runs once at a time in each environment, for each set of text parameter values. When a timer comes due while a run with the same values, started some other way (a person, another schedule, a Flow), is still going, that time records a failed run naming the run in the way, so the schedule's notifications say so. Two schedules with different values both run: they overlap or take turns. A file trigger simply waits for its next check: the new files are still there.
- It never skips silently. A fire that cannot start, for example because a connection has no Production side, records a failed run naming why.
- It supplies parameter values, if the pipeline declares parameters. A date value can be relative, such as
${date-1}. - It carries the notifications, not the pipeline: see Notifications. A run you start yourself reports on the screen you are watching.
- Only a schedule can be paused, because only a schedule runs by itself. The Active column shows whether it will fire.
- Its target is fixed. To run something else, create another schedule; the trigger and timing stay editable. Saving a change that does not touch its timing keeps its next run, so an edit made as it comes due never skips that run.
A run that runs too long
Every Live run has a time limit: 12 hours by default (Settings → General, where it can also be turned off), or one set on the pipeline. A run past its limit ends Failed, so its alert fires instead of a stuck run holding the server.