⏰ Datalayer Scheduler
KubernetesService
Datalayer Scheduler stores schedule definitions, plans runs, and executes notebook runs in the background.
Deploy Datalayer Scheduler
- Plane
- Terraform
plane up datalayer-scheduler
cd terraform
...
Remove scheduler:
plane down datalayer-scheduler
Local development:
plane pf-local
plane local
plane local starts the scheduler on http://localhost:9920 and wires service URLs for IAM/Spacer/Runtimes local ports.
Responsibilities
- Persist schedule definitions (
type_s=schedule) and runs (type_s=schedule_run) in Solr. - Poll due planned runs every 10 seconds by default.
- Execute due runs in background worker threads.
- Mark run outcomes and create next planned runs from cron expressions.
APIs
GET /api/scheduler/v1/pingGET /api/scheduler/v1/status(platform admin)GET /api/scheduler/v1/status/self-check(platform admin)GET /api/scheduler/v1/schedulesGET /api/scheduler/v1/schedules/runsPOST /api/scheduler/v1/schedulesPOST /api/scheduler/v1/schedules/{id}/disable
Required Environment Variables
DATALAYER_SOLR_ZK_HOSTDATALAYER_JWT_ISSUERDATALAYER_JWT_SECRETDATALAYER_JWT_ALGORITHMDATALAYER_IAM_URLDATALAYER_SPACE_URLDATALAYER_RUNTIMES_URL
Optional Environment Variables
DATALAYER_SCHEDULER_INTERVAL_SECONDS(default:10)DATALAYER_SCHEDULER_RUNTIME_ENVIRONMENT(default:ai-agent-env)DATALAYER_SCHEDULER_RUNTIME_CREDITS_FRACTION(default:0.5)DATALAYER_SCHEDULER_EXEC_TIMEOUT_SECONDS(default:300)DATALAYER_SCHEDULER_SERVICE_TOKEN
Ingress
- Scheduler chart now provides an ingress route on
/api/scheduler(same host pattern as IAM ingress). - For GKE clusters, scheduler chart also provides a
BackendConfigtemplate and service annotation. - UI and CLI should target scheduler via dedicated scheduler URL configuration, not through generic run URL fallback.