Page MenuHomePhabricator

Merge scheduler page and schedules page
ClosedPublic

Authored by dgibson on Fri, Nov 13, 8:37 PM.

Details

Summary

This diff makes the scheduler page and the schedules-for-a-repository page use the same UI. The only difference is that the scheduler page is not repository-scoped.

Both pages show a list of schedules and a list of unloadable schedules. The scheduler page groups the schedules by repository.

In particular there are no longer any prompts to reconcile. The only reconcile-like experience you have now is the 'delete a now-unloadable schedule' experience.

Test Plan

BK
Load a repo with two repositories, visit scheduler page and schedules page for each repository
Turn some schedules on and off, leave some on
Remove a running schedule from the codebase
Visit scheduler page and schedules page for both repos again, verify you can turn off the no longer existant schedule
Load dagit with empty workspace, see all running schedules available on scheduler page to turn off

Diff Detail

Repository
R1 dagster
Lint
Automatic diff as part of commit; lint not applicable.
Unit
Automatic diff as part of commit; unit tests not applicable.

Event Timeline

dgibson edited the summary of this revision. (Show Details)
dgibson edited the test plan for this revision. (Show Details)
dgibson added reviewers: sashank, dish, alangenfeld, prha.
dgibson added a subscriber: schrockn.

up, ready for review

This looks great! Awesome to see that reconcile UI go away :)

js_modules/dagit/src/schedules/SchedulerRoot.tsx
46–52

I think this should never be true, since we're not passing in a repository selector argument to this field. Still, it's probably good to check for it, but we might want to show a different invalid state than "Repository not found" because it doesn't really make sense here. It's more like "something went wrong in the Dagster framework itself"

104–105

Nit/Tip: You can alias this name right here in the GQL query instead of needing to do it in JS, so that the field name here makes a bit more sense:

unLoadableScheduleStates: scheduleStatesOrError(withNoScheduleDefinition: true) { ... }

Then above you can do:

const {
    scheduler,
    repositoriesOrError,
    unLoadableScheduleStates,
} = result;
js_modules/dagit/src/schedules/SchedulesRoot.tsx
171

Nit: Extra space

This revision is now accepted and ready to land.Fri, Nov 13, 11:29 PM
This revision was automatically updated to reflect the committed changes.