Page MenuHomePhabricator

RFC: Don't require an initial reconciliation step to be able to start schedules that aren't in the schedule DB yet
Changes PlannedPublic

Authored by dgibson on Thu, Oct 8, 7:48 PM.

Details

Summary

This is an attempt to let you turn on schedules without needing to think about whether they are in tne DB or not. Schedules that have no DB entry return a dummy ScheduleState identical to the one created by the reconcile command. Starting a schedule that's not in the DB creates the DB entry, then updates it to STARTED.

I can't think of anything this will break but I bet the reviewers will know edge cases that I'm not considering where it does?

Test Plan

Load a fresh dagit without doing anything related to schedules, all the schedules in the repo now show up as off (instead of a prompt to reconcile)
Turn a schedule on, it works as before
Try with both cron scheduler and new CLI scheduler
Will add automated testing after initial feedabck

Diff Detail

Repository
R1 dagster
Branch
timezonesinstance5
Lint
Lint OK
Unit
No Unit Test Coverage

Event Timeline

Harbormaster returned this revision to the author for changes because remote builds failed.Thu, Oct 8, 8:07 PM
Harbormaster failed remote builds in B19332: Diff 23493!

seems good to me - add some comments to [1] since its a bit clever whats going on

python_modules/dagster-graphql/dagster_graphql/implementation/fetch_schedules.py
138

[1]

python_modules/dagster-graphql/dagster_graphql/schema/schedules/schedule_definition.py
74

[1]