Fabric Job Registry
An ETL orchestration and management platform built with the Microsoft Fabric Extensibility Toolkit.
What problem is being solved
Organizations running ETL workloads in Microsoft Fabric often hit common orchestration gaps as pipelines scale beyond "one item, one schedule":
- Job VisibilityKnowing what is scheduled in a Fabric environment is not an easy task at the moment, there is no central place to see all jobs and when they run.
- Dependency management
Production workflows include real dependencies like "Job B starts only after Job A succeeds" and exception paths like "Run Job C if Job D fails." Managing these relationships manually is error-prone and hard to maintain as job counts grow.
- Template reusability
Teams repeatedly recreate similar pipelines with only parameter variations. Without a template library, this often turns into copy/paste and drift, which increases maintenance overhead and inconsistency.
Fabric Job Registry addresses these pain points with a Fabric-native experience: multi-schedule orchestration, dependency-aware execution, and a reusable template library all backed by Fabric platform APIs.
Features
Job Registry
- Multi-schedule support (up to 25 schedules per job)
Define multiple schedules for a single job (minute/hour/day/week/month patterns), with timezone support using IANA timezone IDs and configurable start/end dates.
Makes use of Fabric's built in Job Scheduler API
- Advanced dependency management
Model job relationships using dependency types:
- Completion: start after another job finishes (regardless of outcome)
- Success: start only if another job succeeds
- Failure: start only if another job fails (exception handling workflows)
- Dependency-triggering automation
Automatically creates Fabric Activators to monitor job completion events and trigger downstream jobs in real time.
- Operational controls
Central management for schedules, notifications, and to enable/disable jobs.
Template Manager
- Pipeline template library
Store full pipeline definitions (Fabric pipeline JSON format) as reusable templates.
- Parameterization
Define template parameters (string, int, bool, array, object), with required/optional handling.
- Organization + governance
Categorize templates (ingestion, transformation, orchestration, export, custom) and maintain version tracking to reduce drift.
- Fast job creation
When creating a new job, select a template and provide parameter values. The system generates the complete pipeline definition automatically.
Dashboard
- Monitoring & observability: KPI metrics, execution history, and centralized visibility across jobs
- Dependency visualization: dependency canvas/DAG view for understanding orchestration flow
- Alert management: surface failures, missed schedules, and dependency chain issues
API integrations
Fabric Platform APIs
The workload uses a unified FabricPlatformAPIClient wrapper to interact with core Fabric capabilities, including:
- Workspace API: list workspaces and enumerate items
- Items API: create pipelines programmatically and retrieve item metadata
- Job Scheduler API: create/update/delete up to 25 schedules per item
- Data Pipeline API: trigger on-demand runs and monitor status
All calls follow consistent patterns for authentication, scope selection, and retry logic.
Fabric Real-Time Intelligence
- Activators: auto-generated per dependency relationship to trigger downstream work
- Event Streams: route job completion events for downstream processing and observability
View the video submission here:
https://youtu.be/t49N139SbOY
View the (Very much a work in progress) source code here:
https://github.com/taylorsamy/FabricJobRegistry
If you found this helpful, consider giving some Kudos. If I answered your question or solved your problem, mark this post as the solution! Join the Fabric Discord! |
Proud to be a Super User! | |