Flyte’s native scheduler lets you attach a schedule to any launch plan, so workflows run automatically without manual intervention. Flyte passes the exact scheduled kick-off time (not the wall-clock time of actual execution) to the workflow, ensuring deterministic, time-aware pipelines.Documentation Index
Fetch the complete documentation index at: https://mintlify.com/flyteorg/flyte/llms.txt
Use this file to discover all available pages before exploring further.
CronSchedule supports both standard cron expressions and AWS CloudWatch cron syntax (except @reboot). The older deprecated cron_expression field did not support AWS syntax.Example workflow
The following workflow accepts akickoff_time argument that Flyte populates automatically when a schedule fires:
Cron schedules
ACronSchedule accepts a standard cron expression. An invalid expression causes the schedule to fail to register.
kickoff_time_input_arg maps the schedule’s fire time to the kickoff_time parameter in the workflow. Omit it if your workflow does not need to know when it was triggered.
Common cron expressions
| Expression | Meaning |
|---|---|
0 * * * * | Every hour, on the hour |
0 9 * * * | Every day at 09:00 UTC |
0 9 * * 1 | Every Monday at 09:00 UTC |
0 0 1 * * | First day of every month at midnight |
*/15 * * * * | Every 15 minutes |
Fixed rate intervals
AFixedRate schedule fires at a constant interval — every N minutes, hours, or days.
CronSchedule, FixedRate also accepts kickoff_time_input_arg if you want Flyte to inject the scheduled time into the workflow.
The Flyte native scheduler catches up on missed executions when the scheduler restarts. It records the last execution time in a snapshot every 30 seconds, so no scheduled runs are silently skipped after an outage.
Activating and deactivating schedules
After you register a launch plan with a schedule, you must explicitly activate it before executions begin.Deactivating a schedule
To stop a schedule from triggering new executions, archive the launch plan:Archiving a launch plan stops future scheduled executions. It does not cancel currently running executions.
How the native scheduler works
The Flyte native scheduler is built intoflyteadmin and is backed by the gocron library. Key behaviors:
- Snapshot-based recovery: The scheduler persists a snapshot of last-execution times to the database every 30 seconds. On restart, it reads this snapshot and catches up any missed scheduled executions before resuming normal operation.
- Schedule updates: The scheduler polls the database every 30 seconds for changes to active schedules (activations and deactivations).
- Rate limiting: A configurable rate limiter prevents the scheduler from flooding the admin API when catching up on many missed executions.
- UTC timezone: You can configure the scheduler to use UTC for all schedule evaluations by setting
useUTCTz: truein the workflow executor config.