Core Concepts
Pipeline Schedules
A Pipeline Schedule is a trigger configuration that determines when and how a pipeline should execute. Each schedule has:- Name: Unique identifier for the trigger
- Schedule Type: Time-based, event-based, or API-triggered
- Schedule Interval: Frequency of execution (for time-based triggers)
- Status: Active or inactive
- Variables: Runtime variables passed to the pipeline
- SLA: Service Level Agreement timeout (in seconds)
Pipeline Runs
A Pipeline Run represents a single execution of a pipeline. Pipeline runs track:- Execution date and time
- Status (initial, running, completed, failed, cancelled)
- Block runs (individual block executions)
- Variables and event data
- Metrics and performance data
Schedule Types
Mage supports three types of triggers:Time Triggers
Schedule pipelines to run at specific times or intervals using cron expressions
Event Triggers
Trigger pipelines based on external events like S3 uploads or AWS EventBridge
API Triggers
Manually trigger pipelines via API calls or from other pipelines
Schedule Intervals
For time-based triggers, Mage provides predefined intervals:@once- Run once@hourly- Every hour@daily- Every day at midnight@weekly- Every week on Sunday@monthly- First day of every month@always_on- Continuously running (for streaming pipelines)- Custom cron expressions - Full flexibility
Database Models
The orchestration system uses SQLAlchemy models stored in the Mage database:Orchestration Architecture
Scheduler Loop
ThePipelineScheduler runs continuously to:
- Check which pipeline schedules should trigger
- Create new pipeline runs for active schedules
- Enforce concurrency limits and run limits
- Start pipeline runs and schedule block executions
- Monitor running pipelines and check SLAs
Execution Flow
Settings Configuration
Schedule settings control pipeline execution behavior:Key Settings
skip_if_previous_running
skip_if_previous_running
Prevent new runs from starting if a previous run is still in progress. Useful for long-running pipelines.
allow_blocks_to_fail
allow_blocks_to_fail
Allow the pipeline to continue executing even if some blocks fail. The pipeline will be marked as failed but downstream blocks may still run.
pipeline_run_limit
pipeline_run_limit
Maximum number of concurrent pipeline runs for this schedule. Additional runs will be cancelled.
landing_time_enabled
landing_time_enabled
Adjust execution timing based on historical runtime to ensure pipelines complete by the scheduled time.
Running Pipelines
Via CLI
Via API
From Another Pipeline
Monitoring
The orchestration system provides:- Pipeline run logs - Execution logs for each run
- Block run logs - Individual block execution logs
- Metrics - Runtime statistics and performance data
- SLA monitoring - Alerts when pipelines exceed SLA
- Status tracking - Real-time status of all runs
See the Monitoring page for detailed information on monitoring pipeline runs.
Next Steps
Triggers
Configure time, event, and API triggers
Sensors
Wait for external conditions before executing
Backfills
Run pipelines for historical date ranges
Monitoring
Monitor and troubleshoot pipeline runs