diff --git a/js_modules/dagit/src/schedules/ScheduleRow.tsx b/js_modules/dagit/src/schedules/ScheduleRow.tsx --- a/js_modules/dagit/src/schedules/ScheduleRow.tsx +++ b/js_modules/dagit/src/schedules/ScheduleRow.tsx @@ -49,11 +49,7 @@ } from 'src/schedules/types/StopSchedule'; import {ScheduleStatus, ScheduleTickStatus} from 'src/types/globalTypes'; import {FontFamily} from 'src/ui/styles'; -import { - DagsterRepoOption, - scheduleSelectorWithRepository, - useScheduleSelector, -} from 'src/workspace/WorkspaceContext'; +import {DagsterRepoOption, scheduleSelectorWithRepository} from 'src/workspace/WorkspaceContext'; import {RepoAddress} from 'src/workspace/types'; import {workspacePath, workspacePathFromAddress} from 'src/workspace/workspacePath'; @@ -153,7 +149,11 @@ const scheduleId = scheduleState?.scheduleOriginId; - const scheduleSelector = useScheduleSelector(name); + const scheduleSelector = { + repositoryLocationName: repoAddress.location, + repositoryName: repoAddress.name, + scheduleName: name, + }; const [configRequested, setConfigRequested] = React.useState(false); @@ -466,9 +466,9 @@ await confirm({ title: 'Are you sure you want to stop this schedule?', description: - 'The schedule definition for this schedule is not available.' + + 'The schedule definition for this schedule is not available. ' + 'If you turn off this schedule, you will not be able to turn it back on from ' + - 'this currently loaded workspace.', + 'the currently loaded workspace.', }); stopSchedule({ variables: {scheduleOriginId}, diff --git a/js_modules/dagit/src/schedules/ScheduleUtils.tsx b/js_modules/dagit/src/schedules/ScheduleUtils.tsx --- a/js_modules/dagit/src/schedules/ScheduleUtils.tsx +++ b/js_modules/dagit/src/schedules/ScheduleUtils.tsx @@ -69,6 +69,19 @@ ${PythonErrorInfo.fragments.PythonErrorFragment} `; +export const REPOSITORY_SCHEDULES_FRAGMENT = gql` + fragment RepositorySchedulesFragment on Repository { + name + id + scheduleDefinitions { + id + ...ScheduleDefinitionFragment + } + ...RepositoryInfoFragment + } + ${RepositoryInformationFragment} +`; + export const SCHEDULE_DEFINITION_FRAGMENT = gql` fragment ScheduleDefinitionFragment on ScheduleDefinition { id @@ -88,36 +101,36 @@ ${SCHEDULE_STATE_FRAGMENT} `; +export const SCHEDULE_STATES_FRAGMENT = gql` + fragment ScheduleStatesFragment on ScheduleStates { + results { + id + ...ScheduleStateFragment + } + } + ${SCHEDULE_STATE_FRAGMENT} +`; + export const SCHEDULES_ROOT_QUERY = gql` query SchedulesRootQuery($repositorySelector: RepositorySelector!) { repositoryOrError(repositorySelector: $repositorySelector) { __typename ... on Repository { - name id - ...RepositoryInfoFragment + ...RepositorySchedulesFragment } ...PythonErrorFragment } scheduler { ...SchedulerFragment } - scheduleDefinitionsOrError(repositorySelector: $repositorySelector) { - ... on ScheduleDefinitions { - results { - id - ...ScheduleDefinitionFragment - } - } - ...PythonErrorFragment - } - scheduleStatesOrError(repositorySelector: $repositorySelector, withNoScheduleDefinition: true) { + unLoadableScheduleStates: scheduleStatesOrError( + repositorySelector: $repositorySelector + withNoScheduleDefinition: true + ) { __typename ... on ScheduleStates { - results { - id - ...ScheduleStateFragment - } + ...ScheduleStatesFragment } ...PythonErrorFragment } @@ -126,7 +139,8 @@ ${SCHEDULE_DEFINITION_FRAGMENT} ${SCHEDULER_FRAGMENT} ${PythonErrorInfo.fragments.PythonErrorFragment} - ${RepositoryInformationFragment} + ${REPOSITORY_SCHEDULES_FRAGMENT} + ${SCHEDULE_STATES_FRAGMENT} `; export const SchedulerTimezoneNote: React.FC<{ diff --git a/js_modules/dagit/src/schedules/SchedulerRoot.tsx b/js_modules/dagit/src/schedules/SchedulerRoot.tsx --- a/js_modules/dagit/src/schedules/SchedulerRoot.tsx +++ b/js_modules/dagit/src/schedules/SchedulerRoot.tsx @@ -1,30 +1,22 @@ import {gql, useQuery} from '@apollo/client'; -import {Button, Callout, Code, Divider, IBreadcrumbProps, Icon, Intent} from '@blueprintjs/core'; +import {Divider, IBreadcrumbProps, NonIdealState} from '@blueprintjs/core'; import {IconNames} from '@blueprintjs/icons'; -import React, {useState} from 'react'; -import {Link} from 'react-router-dom'; +import React from 'react'; -import {ButtonLink} from 'src/ButtonLink'; import {ScrollContainer} from 'src/ListComponents'; import {Loading} from 'src/Loading'; import {PythonErrorInfo} from 'src/PythonErrorInfo'; -import {RepositoryInformation} from 'src/RepositoryInformation'; import {useDocumentTitle} from 'src/hooks/useDocumentTitle'; import {TopNav} from 'src/nav/TopNav'; -import {ScheduleStateRow} from 'src/schedules/ScheduleRow'; -import {SCHEDULE_STATE_FRAGMENT, SchedulerTimezoneNote} from 'src/schedules/ScheduleUtils'; -import {SCHEDULER_FRAGMENT, SchedulerInfo} from 'src/schedules/SchedulerInfo'; import { - SchedulerRootQuery, - SchedulerRootQuery_scheduler, - SchedulerRootQuery_scheduleStatesOrError, - SchedulerRootQuery_scheduleStatesOrError_ScheduleStates_results, -} from 'src/schedules/types/SchedulerRootQuery'; -import {Table} from 'src/ui/Table'; -import {DagsterRepoOption, useRepositoryOptions} from 'src/workspace/WorkspaceContext'; -import {workspacePath} from 'src/workspace/workspacePath'; - -type ScheduleState = SchedulerRootQuery_scheduleStatesOrError_ScheduleStates_results; + REPOSITORY_SCHEDULES_FRAGMENT, + SCHEDULE_DEFINITION_FRAGMENT, + SCHEDULE_STATE_FRAGMENT, + SchedulerTimezoneNote, +} from 'src/schedules/ScheduleUtils'; +import {SCHEDULER_FRAGMENT, SchedulerInfo} from 'src/schedules/SchedulerInfo'; +import {SchedulesTable, UnLoadableSchedules} from 'src/schedules/SchedulesRoot'; +import {SchedulerRootQuery} from 'src/schedules/types/SchedulerRootQuery'; export const SchedulerRoot = () => { useDocumentTitle('Scheduler'); @@ -41,14 +33,50 @@
{(result) => { - const {scheduler, scheduleStatesOrError} = result; + const {scheduler, repositoriesOrError, unLoadableScheduleStates} = result; + + let unLoadableSchedules = null; + + if (repositoriesOrError.__typename === 'PythonError') { + return ; + } + if (unLoadableScheduleStates.__typename === 'PythonError') { + return ; + } else if (unLoadableScheduleStates.__typename === 'RepositoryNotFoundError') { + return ( + + ); + } else { + unLoadableSchedules = unLoadableScheduleStates.results; + } + + const repositoryDefinitionsSection = ( +
+
+

All Schedules:

+
+ +
+ + {repositoriesOrError.nodes.map((repository) => ( +
+ +
+ ))} +
+ ); + return ( <> - + {repositoryDefinitionsSection} + {unLoadableSchedules.length > 0 && ( + + )} ); }} @@ -58,205 +86,23 @@ ); }; -const UnloadableScheduleInfo = () => { - const [showMore, setShowMore] = useState(false); - - return ( - -
-

- Note: You can turn off any of following running schedules, but you cannot turn them back - on.{' '} -

- - {!showMore && ( - - )} -
- - {showMore && ( -
-

- Each schedule below was been previously reconciled and stored, but its corresponding{' '} - ScheduleDefinition is not available in any of the currently loaded - repositories. This is most likely because the schedule definition belongs to a workspace - different than the one currently loaded, or because the repository origin for the - schedule definition has changed. -

-
- )} -
- ); -}; - -const RepositorySchedules = ({ - repositoryLoadableSchedules, - repositoryOriginId, - option, -}: { - repositoryLoadableSchedules: ScheduleState[]; - repositoryOriginId: string; - option: DagsterRepoOption; -}) => { - const {repository} = option; - - const [showRepositoryOrigin, setShowRepositoryOrigin] = useState(false); - - return ( -
-
-
-

Repository: {repository.name}

- setShowRepositoryOrigin(!showRepositoryOrigin)}> - show info{' '} - - -
- - Go to repository schedules - -
- {showRepositoryOrigin && ( - - - - )} - {repositoryLoadableSchedules.length ? ( - - - - - - - - - - - - {repositoryLoadableSchedules.map((scheduleState: any) => ( - - ))} - -
Schedule NameScheduleLast TickLatest Runs
- ) : null} -
- ); -}; - -const ScheduleStates: React.FunctionComponent<{ - scheduleStatesOrError: SchedulerRootQuery_scheduleStatesOrError; - schedulerOrError: SchedulerRootQuery_scheduler; -}> = ({scheduleStatesOrError, schedulerOrError}) => { - const {options, error} = useRepositoryOptions(); - - if (error) { - return ; - } else if (scheduleStatesOrError.__typename === 'PythonError') { - return ; - } else if (scheduleStatesOrError.__typename === 'RepositoryNotFoundError') { - // Can't reach this case because we didn't use a repository selector - return null; - } - - const {results: scheduleStates} = scheduleStatesOrError; - - // Build map of repositoryOriginId to DagsterRepoOption - const repositoryOriginIdMap = {}; - for (const option of options) { - repositoryOriginIdMap[option.repository.id] = option; - } - - // Seperate out schedules into in-scope and out-of-scope - const loadableSchedules = scheduleStates.filter(({repositoryOriginId}) => - repositoryOriginIdMap.hasOwnProperty(repositoryOriginId), - ); - - const unLoadableSchedules = scheduleStates.filter( - ({repositoryOriginId}) => !repositoryOriginIdMap.hasOwnProperty(repositoryOriginId), - ); - - // Group loadable schedules by repository - const loadableSchedulesByRepositoryOriginId: { - [key: string]: ScheduleState[]; - } = {}; - for (const loadableSchedule of loadableSchedules) { - const {repositoryOriginId} = loadableSchedule; - if (!loadableSchedulesByRepositoryOriginId.hasOwnProperty(repositoryOriginId)) { - loadableSchedulesByRepositoryOriginId[repositoryOriginId] = []; - } - - loadableSchedulesByRepositoryOriginId[repositoryOriginId].push(loadableSchedule); - } - - return ( -
-
-

All Schedules:

-
- -
- - - {Object.entries(loadableSchedulesByRepositoryOriginId).map((item) => { - const [repositoryOriginId, repositoryloadableSchedules]: [string, ScheduleState[]] = item; - const option = repositoryOriginIdMap[repositoryOriginId]; - - return ( - - ); - })} - - {unLoadableSchedules.length > 0 && ( - <> -

Unloadable schedules:

- - - - - - - - - - - - - - {unLoadableSchedules.map((scheduleState) => ( - - ))} - -
Schedule NameScheduleLast TickLatest Runs
- - )} -
- ); -}; - const SCHEDULER_ROOT_QUERY = gql` query SchedulerRootQuery { + repositoriesOrError { + __typename + ... on RepositoryConnection { + nodes { + id + ...RepositorySchedulesFragment + } + } + ...PythonErrorFragment + } scheduler { ...SchedulerFragment } - scheduleStatesOrError { + unLoadableScheduleStates: scheduleStatesOrError(withNoScheduleDefinition: true) { + __typename ... on ScheduleStates { results { id @@ -267,6 +113,9 @@ } } + ${SCHEDULE_DEFINITION_FRAGMENT} ${SCHEDULER_FRAGMENT} + ${PythonErrorInfo.fragments.PythonErrorFragment} + ${REPOSITORY_SCHEDULES_FRAGMENT} ${SCHEDULE_STATE_FRAGMENT} `; diff --git a/js_modules/dagit/src/schedules/SchedulesRoot.tsx b/js_modules/dagit/src/schedules/SchedulesRoot.tsx --- a/js_modules/dagit/src/schedules/SchedulesRoot.tsx +++ b/js_modules/dagit/src/schedules/SchedulesRoot.tsx @@ -1,9 +1,8 @@ import {useQuery} from '@apollo/client'; import { + Button, Callout, - Card, Code, - Colors, IBreadcrumbProps, Intent, NonIdealState, @@ -11,7 +10,7 @@ Tooltip, } from '@blueprintjs/core'; import {IconNames} from '@blueprintjs/icons'; -import * as React from 'react'; +import React, {useState} from 'react'; import {Header, ScrollContainer} from 'src/ListComponents'; import {Loading} from 'src/Loading'; @@ -19,69 +18,16 @@ import {RepositoryInformation} from 'src/RepositoryInformation'; import {useDocumentTitle} from 'src/hooks/useDocumentTitle'; import {TopNav} from 'src/nav/TopNav'; -import {ReconcileButton} from 'src/schedules/ReconcileButton'; import {ScheduleRow, ScheduleStateRow} from 'src/schedules/ScheduleRow'; import {SCHEDULES_ROOT_QUERY, SchedulerTimezoneNote} from 'src/schedules/ScheduleUtils'; import {SchedulerInfo} from 'src/schedules/SchedulerInfo'; -import { - SchedulesRootQuery, - SchedulesRootQuery_scheduler, - SchedulesRootQuery_repositoryOrError_Repository, - SchedulesRootQuery_scheduleDefinitionsOrError_ScheduleDefinitions_results, - SchedulesRootQuery_scheduleStatesOrError_ScheduleStates_results, -} from 'src/schedules/types/SchedulesRootQuery'; +import {RepositorySchedulesFragment} from 'src/schedules/types/RepositorySchedulesFragment'; +import {ScheduleStatesFragment_results} from 'src/schedules/types/ScheduleStatesFragment'; +import {SchedulesRootQuery} from 'src/schedules/types/SchedulesRootQuery'; import {Table} from 'src/ui/Table'; import {repoAddressToSelector} from 'src/workspace/repoAddressToSelector'; import {RepoAddress} from 'src/workspace/types'; -interface GetStaleReconcileSectionProps { - repoAddress: RepoAddress; - scheduleDefinitionsWithoutState: SchedulesRootQuery_scheduleDefinitionsOrError_ScheduleDefinitions_results[]; - scheduleStatesWithoutDefinitions: SchedulesRootQuery_scheduleStatesOrError_ScheduleStates_results[]; -} - -const GetStaleReconcileSection: React.FC = (props) => { - const {repoAddress, scheduleDefinitionsWithoutState, scheduleStatesWithoutDefinitions} = props; - if ( - scheduleDefinitionsWithoutState.length === 0 && - scheduleStatesWithoutDefinitions.length === 0 - ) { - return null; - } - - return ( - - -
-
-

- There have been changes to the list of schedule definitions in this repository since - the last time the scheduler state had been reconciled. For the dagster scheduler to - run schedules, schedule definitions need to be reconciled with the internal schedule - storage database. -

-

- To reconcile schedule state, run dagster schedule up or click{' '} - -

-
-
-
- - -
- ); -}; - interface Props { repoAddress: RepoAddress; } @@ -107,28 +53,27 @@ {(result) => { - const { - scheduler, - repositoryOrError, - scheduleDefinitionsOrError, - scheduleStatesOrError: scheduleStatesWithoutDefinitionsOrError, - } = result; - let staleReconcileSection = null; + const {repositoryOrError, scheduler, unLoadableScheduleStates} = result; let scheduleDefinitionsSection = null; + let unLoadableSchedulesSection = null; - if (scheduleDefinitionsOrError.__typename === 'PythonError') { - scheduleDefinitionsSection = ; - } else if (repositoryOrError.__typename === 'PythonError') { + if (repositoryOrError.__typename === 'PythonError') { scheduleDefinitionsSection = ; - } else if (repositoryOrError.__typename === 'RepositoryNotFoundError') { - // Should not be possible, the schedule definitions call will error out - } else if (scheduleDefinitionsOrError.__typename === 'ScheduleDefinitions') { - const scheduleDefinitions = scheduleDefinitionsOrError.results; - const scheduleDefinitionsWithState = scheduleDefinitions.filter((s) => s.scheduleState); - const scheduleDefinitionsWithoutState = scheduleDefinitions.filter( - (s) => !s.scheduleState, + } else if (unLoadableScheduleStates.__typename === 'PythonError') { + scheduleDefinitionsSection = ; + } else if ( + repositoryOrError.__typename === 'RepositoryNotFoundError' || + unLoadableScheduleStates.__typename === 'RepositoryNotFoundError' + ) { + scheduleDefinitionsSection = ( + ); - + } else { + const scheduleDefinitions = repositoryOrError.scheduleDefinitions; if (!scheduleDefinitions.length) { scheduleDefinitionsSection = ( ); } else { - scheduleDefinitionsSection = ( - - ); - } - - if (scheduleStatesWithoutDefinitionsOrError.__typename === 'ScheduleStates') { - const scheduleStatesWithoutDefinitions = - scheduleStatesWithoutDefinitionsOrError.results; - staleReconcileSection = ( - + scheduleDefinitionsSection = scheduleDefinitions.length > 0 && ( +
+
+
Schedules
+
+ +
+ +
); } + unLoadableSchedulesSection = unLoadableScheduleStates.results.length > 0 && ( + + ); } return (
- - {staleReconcileSection} + {scheduleDefinitionsSection} + {unLoadableSchedulesSection}
); }} @@ -181,30 +120,21 @@ ); }; -interface ScheduleTableProps { - schedules: SchedulesRootQuery_scheduleDefinitionsOrError_ScheduleDefinitions_results[]; - repository: SchedulesRootQuery_repositoryOrError_Repository; - scheduler: SchedulesRootQuery_scheduler; +export interface SchedulesTableProps { + repository: RepositorySchedulesFragment; } -const ScheduleTable: React.FunctionComponent = (props) => { - const {repository, schedules, scheduler} = props; - if (schedules.length === 0) { - return null; - } +export const SchedulesTable: React.FunctionComponent = (props) => { + const {repository} = props; const repoAddress = { name: repository.name, location: repository.location.name, }; + const schedules = repository.scheduleDefinitions; return ( -
-
-
Schedules
-
- -
+ <>
{`${schedules.length} loaded from `} {repository.name}
- - {schedules.length > 0 && ( - - - - - - - - - - - - - - {schedules.map((schedule) => ( - - ))} - -
Schedule NamePipelineScheduleLast TickLatest RunsExecution Params
- )} -
+ + + + + + + + + + + + + + {schedules.map((schedule) => ( + + ))} + +
Schedule NamePipelineScheduleLast TickLatest RunsExecution Params
+ ); }; -interface ScheduleWithoutStateTableProps { - repoAddress: RepoAddress; - schedules: SchedulesRootQuery_scheduleDefinitionsOrError_ScheduleDefinitions_results[]; +export interface UnloadableSchedulesProps { + unLoadableSchedules: ScheduleStatesFragment_results[]; } -const ScheduleWithoutStateTable: React.FC = (props) => { - const {repoAddress, schedules} = props; - if (schedules.length === 0 || !repoAddress) { - return null; - } +export const UnLoadableSchedules: React.FunctionComponent = (props) => { + const {unLoadableSchedules} = props; return ( -
-

New Schedule Definitions

-

- The following are new schedule definitions for which there are no entries in schedule - storage yet. After reconciliation, these schedules can be turned on. -

- {schedules.length > 0 && ( - - - - - - - - - - - {schedules.map((schedule) => ( - - ))} - -
Schedule NamePipelineScheduleExecution Params
- )} -
+ <> +

Unloadable schedules:

+ + + + + + + + + + + + + + {unLoadableSchedules.map((scheduleState) => ( + + ))} + +
Schedule NameScheduleLast TickLatest Runs
+ ); }; -interface ScheduleStateTableProps { - scheduleStates: SchedulesRootQuery_scheduleStatesOrError_ScheduleStates_results[]; -} - -const ScheduleStatesWithoutDefinitionsTable: React.FC = (props) => { - const {scheduleStates} = props; - if (scheduleStates.length === 0) { - return null; - } +export const UnloadableScheduleInfo = () => { + const [showMore, setShowMore] = useState(false); return ( -
-

Deleted Schedule Definitions

-

- The following are entries in schedule storage for which there is no matching schedule - definition anymore. This means that the schedule definition has been deleted or renamed. - After reconciliation, these entries will be deleted. -

- {scheduleStates.length > 0 && ( - - - - - - - - - - - {scheduleStates.map((scheduleState) => ( - - ))} - -
Schedule NameScheduleLast TickLatest Runs
+ +
+

+ Note: You can turn off any of the following schedules, but you cannot turn them back on.{' '} +

+ + {!showMore && ( + + )} +
+ + {showMore && ( +
+

+ The following schedules were previously started but now cannot be loaded. They may be + part of a different workspace or from a schedule or repository that no longer exists in + code. You can turn them off, but you cannot turn them back on since they can’t be + loaded. +

+
)} -
+ ); }; diff --git a/js_modules/dagit/src/schedules/types/RepositorySchedulesFragment.ts b/js_modules/dagit/src/schedules/types/RepositorySchedulesFragment.ts new file mode 100644 --- /dev/null +++ b/js_modules/dagit/src/schedules/types/RepositorySchedulesFragment.ts @@ -0,0 +1,163 @@ +// @generated +/* tslint:disable */ +/* eslint-disable */ +// @generated +// This file was automatically generated and should not be edited. + +import { ScheduleTickStatus, PipelineRunStatus, ScheduleStatus } from "./../../types/globalTypes"; + +// ==================================================== +// GraphQL fragment: RepositorySchedulesFragment +// ==================================================== + +export interface RepositorySchedulesFragment_scheduleDefinitions_partitionSet { + __typename: "PartitionSet"; + name: string; +} + +export interface RepositorySchedulesFragment_scheduleDefinitions_scheduleState_repositoryOrigin_PythonRepositoryOrigin_codePointer_metadata { + __typename: "CodePointerMetadata"; + key: string; + value: string; +} + +export interface RepositorySchedulesFragment_scheduleDefinitions_scheduleState_repositoryOrigin_PythonRepositoryOrigin_codePointer { + __typename: "CodePointer"; + metadata: RepositorySchedulesFragment_scheduleDefinitions_scheduleState_repositoryOrigin_PythonRepositoryOrigin_codePointer_metadata[]; +} + +export interface RepositorySchedulesFragment_scheduleDefinitions_scheduleState_repositoryOrigin_PythonRepositoryOrigin { + __typename: "PythonRepositoryOrigin"; + codePointer: RepositorySchedulesFragment_scheduleDefinitions_scheduleState_repositoryOrigin_PythonRepositoryOrigin_codePointer; + executablePath: string; +} + +export interface RepositorySchedulesFragment_scheduleDefinitions_scheduleState_repositoryOrigin_GrpcRepositoryOrigin { + __typename: "GrpcRepositoryOrigin"; + grpcUrl: string; +} + +export type RepositorySchedulesFragment_scheduleDefinitions_scheduleState_repositoryOrigin = RepositorySchedulesFragment_scheduleDefinitions_scheduleState_repositoryOrigin_PythonRepositoryOrigin | RepositorySchedulesFragment_scheduleDefinitions_scheduleState_repositoryOrigin_GrpcRepositoryOrigin; + +export interface RepositorySchedulesFragment_scheduleDefinitions_scheduleState_ticks_tickSpecificData_ScheduleTickSuccessData_run { + __typename: "PipelineRun"; + id: string; + pipelineName: string; + status: PipelineRunStatus; + runId: string; +} + +export interface RepositorySchedulesFragment_scheduleDefinitions_scheduleState_ticks_tickSpecificData_ScheduleTickSuccessData { + __typename: "ScheduleTickSuccessData"; + run: RepositorySchedulesFragment_scheduleDefinitions_scheduleState_ticks_tickSpecificData_ScheduleTickSuccessData_run | null; +} + +export interface RepositorySchedulesFragment_scheduleDefinitions_scheduleState_ticks_tickSpecificData_ScheduleTickFailureData_error_cause { + __typename: "PythonError"; + message: string; + stack: string[]; +} + +export interface RepositorySchedulesFragment_scheduleDefinitions_scheduleState_ticks_tickSpecificData_ScheduleTickFailureData_error { + __typename: "PythonError"; + message: string; + stack: string[]; + cause: RepositorySchedulesFragment_scheduleDefinitions_scheduleState_ticks_tickSpecificData_ScheduleTickFailureData_error_cause | null; +} + +export interface RepositorySchedulesFragment_scheduleDefinitions_scheduleState_ticks_tickSpecificData_ScheduleTickFailureData { + __typename: "ScheduleTickFailureData"; + error: RepositorySchedulesFragment_scheduleDefinitions_scheduleState_ticks_tickSpecificData_ScheduleTickFailureData_error; +} + +export type RepositorySchedulesFragment_scheduleDefinitions_scheduleState_ticks_tickSpecificData = RepositorySchedulesFragment_scheduleDefinitions_scheduleState_ticks_tickSpecificData_ScheduleTickSuccessData | RepositorySchedulesFragment_scheduleDefinitions_scheduleState_ticks_tickSpecificData_ScheduleTickFailureData; + +export interface RepositorySchedulesFragment_scheduleDefinitions_scheduleState_ticks { + __typename: "ScheduleTick"; + tickId: string; + status: ScheduleTickStatus; + timestamp: number; + tickSpecificData: RepositorySchedulesFragment_scheduleDefinitions_scheduleState_ticks_tickSpecificData | null; +} + +export interface RepositorySchedulesFragment_scheduleDefinitions_scheduleState_runs_tags { + __typename: "PipelineTag"; + key: string; + value: string; +} + +export interface RepositorySchedulesFragment_scheduleDefinitions_scheduleState_runs { + __typename: "PipelineRun"; + id: string; + runId: string; + tags: RepositorySchedulesFragment_scheduleDefinitions_scheduleState_runs_tags[]; + pipelineName: string; + status: PipelineRunStatus; +} + +export interface RepositorySchedulesFragment_scheduleDefinitions_scheduleState { + __typename: "ScheduleState"; + id: string; + scheduleOriginId: string; + repositoryOrigin: RepositorySchedulesFragment_scheduleDefinitions_scheduleState_repositoryOrigin; + repositoryOriginId: string; + scheduleName: string; + cronSchedule: string; + runningScheduleCount: number; + ticks: RepositorySchedulesFragment_scheduleDefinitions_scheduleState_ticks[]; + runsCount: number; + runs: RepositorySchedulesFragment_scheduleDefinitions_scheduleState_runs[]; + ticksCount: number; + status: ScheduleStatus; +} + +export interface RepositorySchedulesFragment_scheduleDefinitions { + __typename: "ScheduleDefinition"; + id: string; + name: string; + cronSchedule: string; + pipelineName: string; + solidSelection: (string | null)[] | null; + mode: string; + partitionSet: RepositorySchedulesFragment_scheduleDefinitions_partitionSet | null; + scheduleState: RepositorySchedulesFragment_scheduleDefinitions_scheduleState | null; +} + +export interface RepositorySchedulesFragment_origin_PythonRepositoryOrigin_codePointer_metadata { + __typename: "CodePointerMetadata"; + key: string; + value: string; +} + +export interface RepositorySchedulesFragment_origin_PythonRepositoryOrigin_codePointer { + __typename: "CodePointer"; + metadata: RepositorySchedulesFragment_origin_PythonRepositoryOrigin_codePointer_metadata[]; +} + +export interface RepositorySchedulesFragment_origin_PythonRepositoryOrigin { + __typename: "PythonRepositoryOrigin"; + codePointer: RepositorySchedulesFragment_origin_PythonRepositoryOrigin_codePointer; + executablePath: string; +} + +export interface RepositorySchedulesFragment_origin_GrpcRepositoryOrigin { + __typename: "GrpcRepositoryOrigin"; + grpcUrl: string; +} + +export type RepositorySchedulesFragment_origin = RepositorySchedulesFragment_origin_PythonRepositoryOrigin | RepositorySchedulesFragment_origin_GrpcRepositoryOrigin; + +export interface RepositorySchedulesFragment_location { + __typename: "RepositoryLocation"; + id: string; + name: string; +} + +export interface RepositorySchedulesFragment { + __typename: "Repository"; + name: string; + id: string; + scheduleDefinitions: RepositorySchedulesFragment_scheduleDefinitions[]; + origin: RepositorySchedulesFragment_origin; + location: RepositorySchedulesFragment_location; +} diff --git a/js_modules/dagit/src/schedules/types/ScheduleStatesFragment.ts b/js_modules/dagit/src/schedules/types/ScheduleStatesFragment.ts new file mode 100644 --- /dev/null +++ b/js_modules/dagit/src/schedules/types/ScheduleStatesFragment.ts @@ -0,0 +1,112 @@ +// @generated +/* tslint:disable */ +/* eslint-disable */ +// @generated +// This file was automatically generated and should not be edited. + +import { ScheduleTickStatus, PipelineRunStatus, ScheduleStatus } from "./../../types/globalTypes"; + +// ==================================================== +// GraphQL fragment: ScheduleStatesFragment +// ==================================================== + +export interface ScheduleStatesFragment_results_repositoryOrigin_PythonRepositoryOrigin_codePointer_metadata { + __typename: "CodePointerMetadata"; + key: string; + value: string; +} + +export interface ScheduleStatesFragment_results_repositoryOrigin_PythonRepositoryOrigin_codePointer { + __typename: "CodePointer"; + metadata: ScheduleStatesFragment_results_repositoryOrigin_PythonRepositoryOrigin_codePointer_metadata[]; +} + +export interface ScheduleStatesFragment_results_repositoryOrigin_PythonRepositoryOrigin { + __typename: "PythonRepositoryOrigin"; + codePointer: ScheduleStatesFragment_results_repositoryOrigin_PythonRepositoryOrigin_codePointer; + executablePath: string; +} + +export interface ScheduleStatesFragment_results_repositoryOrigin_GrpcRepositoryOrigin { + __typename: "GrpcRepositoryOrigin"; + grpcUrl: string; +} + +export type ScheduleStatesFragment_results_repositoryOrigin = ScheduleStatesFragment_results_repositoryOrigin_PythonRepositoryOrigin | ScheduleStatesFragment_results_repositoryOrigin_GrpcRepositoryOrigin; + +export interface ScheduleStatesFragment_results_ticks_tickSpecificData_ScheduleTickSuccessData_run { + __typename: "PipelineRun"; + id: string; + pipelineName: string; + status: PipelineRunStatus; + runId: string; +} + +export interface ScheduleStatesFragment_results_ticks_tickSpecificData_ScheduleTickSuccessData { + __typename: "ScheduleTickSuccessData"; + run: ScheduleStatesFragment_results_ticks_tickSpecificData_ScheduleTickSuccessData_run | null; +} + +export interface ScheduleStatesFragment_results_ticks_tickSpecificData_ScheduleTickFailureData_error_cause { + __typename: "PythonError"; + message: string; + stack: string[]; +} + +export interface ScheduleStatesFragment_results_ticks_tickSpecificData_ScheduleTickFailureData_error { + __typename: "PythonError"; + message: string; + stack: string[]; + cause: ScheduleStatesFragment_results_ticks_tickSpecificData_ScheduleTickFailureData_error_cause | null; +} + +export interface ScheduleStatesFragment_results_ticks_tickSpecificData_ScheduleTickFailureData { + __typename: "ScheduleTickFailureData"; + error: ScheduleStatesFragment_results_ticks_tickSpecificData_ScheduleTickFailureData_error; +} + +export type ScheduleStatesFragment_results_ticks_tickSpecificData = ScheduleStatesFragment_results_ticks_tickSpecificData_ScheduleTickSuccessData | ScheduleStatesFragment_results_ticks_tickSpecificData_ScheduleTickFailureData; + +export interface ScheduleStatesFragment_results_ticks { + __typename: "ScheduleTick"; + tickId: string; + status: ScheduleTickStatus; + timestamp: number; + tickSpecificData: ScheduleStatesFragment_results_ticks_tickSpecificData | null; +} + +export interface ScheduleStatesFragment_results_runs_tags { + __typename: "PipelineTag"; + key: string; + value: string; +} + +export interface ScheduleStatesFragment_results_runs { + __typename: "PipelineRun"; + id: string; + runId: string; + tags: ScheduleStatesFragment_results_runs_tags[]; + pipelineName: string; + status: PipelineRunStatus; +} + +export interface ScheduleStatesFragment_results { + __typename: "ScheduleState"; + id: string; + scheduleOriginId: string; + repositoryOrigin: ScheduleStatesFragment_results_repositoryOrigin; + repositoryOriginId: string; + scheduleName: string; + cronSchedule: string; + runningScheduleCount: number; + ticks: ScheduleStatesFragment_results_ticks[]; + runsCount: number; + runs: ScheduleStatesFragment_results_runs[]; + ticksCount: number; + status: ScheduleStatus; +} + +export interface ScheduleStatesFragment { + __typename: "ScheduleStates"; + results: ScheduleStatesFragment_results[]; +} diff --git a/js_modules/dagit/src/schedules/types/SchedulerRootQuery.ts b/js_modules/dagit/src/schedules/types/SchedulerRootQuery.ts --- a/js_modules/dagit/src/schedules/types/SchedulerRootQuery.ts +++ b/js_modules/dagit/src/schedules/types/SchedulerRootQuery.ts @@ -10,6 +10,178 @@ // GraphQL query operation: SchedulerRootQuery // ==================================================== +export interface SchedulerRootQuery_repositoriesOrError_RepositoryConnection_nodes_scheduleDefinitions_partitionSet { + __typename: "PartitionSet"; + name: string; +} + +export interface SchedulerRootQuery_repositoriesOrError_RepositoryConnection_nodes_scheduleDefinitions_scheduleState_repositoryOrigin_PythonRepositoryOrigin_codePointer_metadata { + __typename: "CodePointerMetadata"; + key: string; + value: string; +} + +export interface SchedulerRootQuery_repositoriesOrError_RepositoryConnection_nodes_scheduleDefinitions_scheduleState_repositoryOrigin_PythonRepositoryOrigin_codePointer { + __typename: "CodePointer"; + metadata: SchedulerRootQuery_repositoriesOrError_RepositoryConnection_nodes_scheduleDefinitions_scheduleState_repositoryOrigin_PythonRepositoryOrigin_codePointer_metadata[]; +} + +export interface SchedulerRootQuery_repositoriesOrError_RepositoryConnection_nodes_scheduleDefinitions_scheduleState_repositoryOrigin_PythonRepositoryOrigin { + __typename: "PythonRepositoryOrigin"; + codePointer: SchedulerRootQuery_repositoriesOrError_RepositoryConnection_nodes_scheduleDefinitions_scheduleState_repositoryOrigin_PythonRepositoryOrigin_codePointer; + executablePath: string; +} + +export interface SchedulerRootQuery_repositoriesOrError_RepositoryConnection_nodes_scheduleDefinitions_scheduleState_repositoryOrigin_GrpcRepositoryOrigin { + __typename: "GrpcRepositoryOrigin"; + grpcUrl: string; +} + +export type SchedulerRootQuery_repositoriesOrError_RepositoryConnection_nodes_scheduleDefinitions_scheduleState_repositoryOrigin = SchedulerRootQuery_repositoriesOrError_RepositoryConnection_nodes_scheduleDefinitions_scheduleState_repositoryOrigin_PythonRepositoryOrigin | SchedulerRootQuery_repositoriesOrError_RepositoryConnection_nodes_scheduleDefinitions_scheduleState_repositoryOrigin_GrpcRepositoryOrigin; + +export interface SchedulerRootQuery_repositoriesOrError_RepositoryConnection_nodes_scheduleDefinitions_scheduleState_ticks_tickSpecificData_ScheduleTickSuccessData_run { + __typename: "PipelineRun"; + id: string; + pipelineName: string; + status: PipelineRunStatus; + runId: string; +} + +export interface SchedulerRootQuery_repositoriesOrError_RepositoryConnection_nodes_scheduleDefinitions_scheduleState_ticks_tickSpecificData_ScheduleTickSuccessData { + __typename: "ScheduleTickSuccessData"; + run: SchedulerRootQuery_repositoriesOrError_RepositoryConnection_nodes_scheduleDefinitions_scheduleState_ticks_tickSpecificData_ScheduleTickSuccessData_run | null; +} + +export interface SchedulerRootQuery_repositoriesOrError_RepositoryConnection_nodes_scheduleDefinitions_scheduleState_ticks_tickSpecificData_ScheduleTickFailureData_error_cause { + __typename: "PythonError"; + message: string; + stack: string[]; +} + +export interface SchedulerRootQuery_repositoriesOrError_RepositoryConnection_nodes_scheduleDefinitions_scheduleState_ticks_tickSpecificData_ScheduleTickFailureData_error { + __typename: "PythonError"; + message: string; + stack: string[]; + cause: SchedulerRootQuery_repositoriesOrError_RepositoryConnection_nodes_scheduleDefinitions_scheduleState_ticks_tickSpecificData_ScheduleTickFailureData_error_cause | null; +} + +export interface SchedulerRootQuery_repositoriesOrError_RepositoryConnection_nodes_scheduleDefinitions_scheduleState_ticks_tickSpecificData_ScheduleTickFailureData { + __typename: "ScheduleTickFailureData"; + error: SchedulerRootQuery_repositoriesOrError_RepositoryConnection_nodes_scheduleDefinitions_scheduleState_ticks_tickSpecificData_ScheduleTickFailureData_error; +} + +export type SchedulerRootQuery_repositoriesOrError_RepositoryConnection_nodes_scheduleDefinitions_scheduleState_ticks_tickSpecificData = SchedulerRootQuery_repositoriesOrError_RepositoryConnection_nodes_scheduleDefinitions_scheduleState_ticks_tickSpecificData_ScheduleTickSuccessData | SchedulerRootQuery_repositoriesOrError_RepositoryConnection_nodes_scheduleDefinitions_scheduleState_ticks_tickSpecificData_ScheduleTickFailureData; + +export interface SchedulerRootQuery_repositoriesOrError_RepositoryConnection_nodes_scheduleDefinitions_scheduleState_ticks { + __typename: "ScheduleTick"; + tickId: string; + status: ScheduleTickStatus; + timestamp: number; + tickSpecificData: SchedulerRootQuery_repositoriesOrError_RepositoryConnection_nodes_scheduleDefinitions_scheduleState_ticks_tickSpecificData | null; +} + +export interface SchedulerRootQuery_repositoriesOrError_RepositoryConnection_nodes_scheduleDefinitions_scheduleState_runs_tags { + __typename: "PipelineTag"; + key: string; + value: string; +} + +export interface SchedulerRootQuery_repositoriesOrError_RepositoryConnection_nodes_scheduleDefinitions_scheduleState_runs { + __typename: "PipelineRun"; + id: string; + runId: string; + tags: SchedulerRootQuery_repositoriesOrError_RepositoryConnection_nodes_scheduleDefinitions_scheduleState_runs_tags[]; + pipelineName: string; + status: PipelineRunStatus; +} + +export interface SchedulerRootQuery_repositoriesOrError_RepositoryConnection_nodes_scheduleDefinitions_scheduleState { + __typename: "ScheduleState"; + id: string; + scheduleOriginId: string; + repositoryOrigin: SchedulerRootQuery_repositoriesOrError_RepositoryConnection_nodes_scheduleDefinitions_scheduleState_repositoryOrigin; + repositoryOriginId: string; + scheduleName: string; + cronSchedule: string; + runningScheduleCount: number; + ticks: SchedulerRootQuery_repositoriesOrError_RepositoryConnection_nodes_scheduleDefinitions_scheduleState_ticks[]; + runsCount: number; + runs: SchedulerRootQuery_repositoriesOrError_RepositoryConnection_nodes_scheduleDefinitions_scheduleState_runs[]; + ticksCount: number; + status: ScheduleStatus; +} + +export interface SchedulerRootQuery_repositoriesOrError_RepositoryConnection_nodes_scheduleDefinitions { + __typename: "ScheduleDefinition"; + id: string; + name: string; + cronSchedule: string; + pipelineName: string; + solidSelection: (string | null)[] | null; + mode: string; + partitionSet: SchedulerRootQuery_repositoriesOrError_RepositoryConnection_nodes_scheduleDefinitions_partitionSet | null; + scheduleState: SchedulerRootQuery_repositoriesOrError_RepositoryConnection_nodes_scheduleDefinitions_scheduleState | null; +} + +export interface SchedulerRootQuery_repositoriesOrError_RepositoryConnection_nodes_origin_PythonRepositoryOrigin_codePointer_metadata { + __typename: "CodePointerMetadata"; + key: string; + value: string; +} + +export interface SchedulerRootQuery_repositoriesOrError_RepositoryConnection_nodes_origin_PythonRepositoryOrigin_codePointer { + __typename: "CodePointer"; + metadata: SchedulerRootQuery_repositoriesOrError_RepositoryConnection_nodes_origin_PythonRepositoryOrigin_codePointer_metadata[]; +} + +export interface SchedulerRootQuery_repositoriesOrError_RepositoryConnection_nodes_origin_PythonRepositoryOrigin { + __typename: "PythonRepositoryOrigin"; + codePointer: SchedulerRootQuery_repositoriesOrError_RepositoryConnection_nodes_origin_PythonRepositoryOrigin_codePointer; + executablePath: string; +} + +export interface SchedulerRootQuery_repositoriesOrError_RepositoryConnection_nodes_origin_GrpcRepositoryOrigin { + __typename: "GrpcRepositoryOrigin"; + grpcUrl: string; +} + +export type SchedulerRootQuery_repositoriesOrError_RepositoryConnection_nodes_origin = SchedulerRootQuery_repositoriesOrError_RepositoryConnection_nodes_origin_PythonRepositoryOrigin | SchedulerRootQuery_repositoriesOrError_RepositoryConnection_nodes_origin_GrpcRepositoryOrigin; + +export interface SchedulerRootQuery_repositoriesOrError_RepositoryConnection_nodes_location { + __typename: "RepositoryLocation"; + id: string; + name: string; +} + +export interface SchedulerRootQuery_repositoriesOrError_RepositoryConnection_nodes { + __typename: "Repository"; + id: string; + name: string; + scheduleDefinitions: SchedulerRootQuery_repositoriesOrError_RepositoryConnection_nodes_scheduleDefinitions[]; + origin: SchedulerRootQuery_repositoriesOrError_RepositoryConnection_nodes_origin; + location: SchedulerRootQuery_repositoriesOrError_RepositoryConnection_nodes_location; +} + +export interface SchedulerRootQuery_repositoriesOrError_RepositoryConnection { + __typename: "RepositoryConnection"; + nodes: SchedulerRootQuery_repositoriesOrError_RepositoryConnection_nodes[]; +} + +export interface SchedulerRootQuery_repositoriesOrError_PythonError_cause { + __typename: "PythonError"; + message: string; + stack: string[]; +} + +export interface SchedulerRootQuery_repositoriesOrError_PythonError { + __typename: "PythonError"; + message: string; + stack: string[]; + cause: SchedulerRootQuery_repositoriesOrError_PythonError_cause | null; +} + +export type SchedulerRootQuery_repositoriesOrError = SchedulerRootQuery_repositoriesOrError_RepositoryConnection | SchedulerRootQuery_repositoriesOrError_PythonError; + export interface SchedulerRootQuery_scheduler_SchedulerNotDefinedError { __typename: "SchedulerNotDefinedError"; message: string; @@ -35,35 +207,35 @@ export type SchedulerRootQuery_scheduler = SchedulerRootQuery_scheduler_SchedulerNotDefinedError | SchedulerRootQuery_scheduler_Scheduler | SchedulerRootQuery_scheduler_PythonError; -export interface SchedulerRootQuery_scheduleStatesOrError_RepositoryNotFoundError { +export interface SchedulerRootQuery_unLoadableScheduleStates_RepositoryNotFoundError { __typename: "RepositoryNotFoundError"; } -export interface SchedulerRootQuery_scheduleStatesOrError_ScheduleStates_results_repositoryOrigin_PythonRepositoryOrigin_codePointer_metadata { +export interface SchedulerRootQuery_unLoadableScheduleStates_ScheduleStates_results_repositoryOrigin_PythonRepositoryOrigin_codePointer_metadata { __typename: "CodePointerMetadata"; key: string; value: string; } -export interface SchedulerRootQuery_scheduleStatesOrError_ScheduleStates_results_repositoryOrigin_PythonRepositoryOrigin_codePointer { +export interface SchedulerRootQuery_unLoadableScheduleStates_ScheduleStates_results_repositoryOrigin_PythonRepositoryOrigin_codePointer { __typename: "CodePointer"; - metadata: SchedulerRootQuery_scheduleStatesOrError_ScheduleStates_results_repositoryOrigin_PythonRepositoryOrigin_codePointer_metadata[]; + metadata: SchedulerRootQuery_unLoadableScheduleStates_ScheduleStates_results_repositoryOrigin_PythonRepositoryOrigin_codePointer_metadata[]; } -export interface SchedulerRootQuery_scheduleStatesOrError_ScheduleStates_results_repositoryOrigin_PythonRepositoryOrigin { +export interface SchedulerRootQuery_unLoadableScheduleStates_ScheduleStates_results_repositoryOrigin_PythonRepositoryOrigin { __typename: "PythonRepositoryOrigin"; - codePointer: SchedulerRootQuery_scheduleStatesOrError_ScheduleStates_results_repositoryOrigin_PythonRepositoryOrigin_codePointer; + codePointer: SchedulerRootQuery_unLoadableScheduleStates_ScheduleStates_results_repositoryOrigin_PythonRepositoryOrigin_codePointer; executablePath: string; } -export interface SchedulerRootQuery_scheduleStatesOrError_ScheduleStates_results_repositoryOrigin_GrpcRepositoryOrigin { +export interface SchedulerRootQuery_unLoadableScheduleStates_ScheduleStates_results_repositoryOrigin_GrpcRepositoryOrigin { __typename: "GrpcRepositoryOrigin"; grpcUrl: string; } -export type SchedulerRootQuery_scheduleStatesOrError_ScheduleStates_results_repositoryOrigin = SchedulerRootQuery_scheduleStatesOrError_ScheduleStates_results_repositoryOrigin_PythonRepositoryOrigin | SchedulerRootQuery_scheduleStatesOrError_ScheduleStates_results_repositoryOrigin_GrpcRepositoryOrigin; +export type SchedulerRootQuery_unLoadableScheduleStates_ScheduleStates_results_repositoryOrigin = SchedulerRootQuery_unLoadableScheduleStates_ScheduleStates_results_repositoryOrigin_PythonRepositoryOrigin | SchedulerRootQuery_unLoadableScheduleStates_ScheduleStates_results_repositoryOrigin_GrpcRepositoryOrigin; -export interface SchedulerRootQuery_scheduleStatesOrError_ScheduleStates_results_ticks_tickSpecificData_ScheduleTickSuccessData_run { +export interface SchedulerRootQuery_unLoadableScheduleStates_ScheduleStates_results_ticks_tickSpecificData_ScheduleTickSuccessData_run { __typename: "PipelineRun"; id: string; pipelineName: string; @@ -71,91 +243,92 @@ runId: string; } -export interface SchedulerRootQuery_scheduleStatesOrError_ScheduleStates_results_ticks_tickSpecificData_ScheduleTickSuccessData { +export interface SchedulerRootQuery_unLoadableScheduleStates_ScheduleStates_results_ticks_tickSpecificData_ScheduleTickSuccessData { __typename: "ScheduleTickSuccessData"; - run: SchedulerRootQuery_scheduleStatesOrError_ScheduleStates_results_ticks_tickSpecificData_ScheduleTickSuccessData_run | null; + run: SchedulerRootQuery_unLoadableScheduleStates_ScheduleStates_results_ticks_tickSpecificData_ScheduleTickSuccessData_run | null; } -export interface SchedulerRootQuery_scheduleStatesOrError_ScheduleStates_results_ticks_tickSpecificData_ScheduleTickFailureData_error_cause { +export interface SchedulerRootQuery_unLoadableScheduleStates_ScheduleStates_results_ticks_tickSpecificData_ScheduleTickFailureData_error_cause { __typename: "PythonError"; message: string; stack: string[]; } -export interface SchedulerRootQuery_scheduleStatesOrError_ScheduleStates_results_ticks_tickSpecificData_ScheduleTickFailureData_error { +export interface SchedulerRootQuery_unLoadableScheduleStates_ScheduleStates_results_ticks_tickSpecificData_ScheduleTickFailureData_error { __typename: "PythonError"; message: string; stack: string[]; - cause: SchedulerRootQuery_scheduleStatesOrError_ScheduleStates_results_ticks_tickSpecificData_ScheduleTickFailureData_error_cause | null; + cause: SchedulerRootQuery_unLoadableScheduleStates_ScheduleStates_results_ticks_tickSpecificData_ScheduleTickFailureData_error_cause | null; } -export interface SchedulerRootQuery_scheduleStatesOrError_ScheduleStates_results_ticks_tickSpecificData_ScheduleTickFailureData { +export interface SchedulerRootQuery_unLoadableScheduleStates_ScheduleStates_results_ticks_tickSpecificData_ScheduleTickFailureData { __typename: "ScheduleTickFailureData"; - error: SchedulerRootQuery_scheduleStatesOrError_ScheduleStates_results_ticks_tickSpecificData_ScheduleTickFailureData_error; + error: SchedulerRootQuery_unLoadableScheduleStates_ScheduleStates_results_ticks_tickSpecificData_ScheduleTickFailureData_error; } -export type SchedulerRootQuery_scheduleStatesOrError_ScheduleStates_results_ticks_tickSpecificData = SchedulerRootQuery_scheduleStatesOrError_ScheduleStates_results_ticks_tickSpecificData_ScheduleTickSuccessData | SchedulerRootQuery_scheduleStatesOrError_ScheduleStates_results_ticks_tickSpecificData_ScheduleTickFailureData; +export type SchedulerRootQuery_unLoadableScheduleStates_ScheduleStates_results_ticks_tickSpecificData = SchedulerRootQuery_unLoadableScheduleStates_ScheduleStates_results_ticks_tickSpecificData_ScheduleTickSuccessData | SchedulerRootQuery_unLoadableScheduleStates_ScheduleStates_results_ticks_tickSpecificData_ScheduleTickFailureData; -export interface SchedulerRootQuery_scheduleStatesOrError_ScheduleStates_results_ticks { +export interface SchedulerRootQuery_unLoadableScheduleStates_ScheduleStates_results_ticks { __typename: "ScheduleTick"; tickId: string; status: ScheduleTickStatus; timestamp: number; - tickSpecificData: SchedulerRootQuery_scheduleStatesOrError_ScheduleStates_results_ticks_tickSpecificData | null; + tickSpecificData: SchedulerRootQuery_unLoadableScheduleStates_ScheduleStates_results_ticks_tickSpecificData | null; } -export interface SchedulerRootQuery_scheduleStatesOrError_ScheduleStates_results_runs_tags { +export interface SchedulerRootQuery_unLoadableScheduleStates_ScheduleStates_results_runs_tags { __typename: "PipelineTag"; key: string; value: string; } -export interface SchedulerRootQuery_scheduleStatesOrError_ScheduleStates_results_runs { +export interface SchedulerRootQuery_unLoadableScheduleStates_ScheduleStates_results_runs { __typename: "PipelineRun"; id: string; runId: string; - tags: SchedulerRootQuery_scheduleStatesOrError_ScheduleStates_results_runs_tags[]; + tags: SchedulerRootQuery_unLoadableScheduleStates_ScheduleStates_results_runs_tags[]; pipelineName: string; status: PipelineRunStatus; } -export interface SchedulerRootQuery_scheduleStatesOrError_ScheduleStates_results { +export interface SchedulerRootQuery_unLoadableScheduleStates_ScheduleStates_results { __typename: "ScheduleState"; id: string; scheduleOriginId: string; - repositoryOrigin: SchedulerRootQuery_scheduleStatesOrError_ScheduleStates_results_repositoryOrigin; + repositoryOrigin: SchedulerRootQuery_unLoadableScheduleStates_ScheduleStates_results_repositoryOrigin; repositoryOriginId: string; scheduleName: string; cronSchedule: string; runningScheduleCount: number; - ticks: SchedulerRootQuery_scheduleStatesOrError_ScheduleStates_results_ticks[]; + ticks: SchedulerRootQuery_unLoadableScheduleStates_ScheduleStates_results_ticks[]; runsCount: number; - runs: SchedulerRootQuery_scheduleStatesOrError_ScheduleStates_results_runs[]; + runs: SchedulerRootQuery_unLoadableScheduleStates_ScheduleStates_results_runs[]; ticksCount: number; status: ScheduleStatus; } -export interface SchedulerRootQuery_scheduleStatesOrError_ScheduleStates { +export interface SchedulerRootQuery_unLoadableScheduleStates_ScheduleStates { __typename: "ScheduleStates"; - results: SchedulerRootQuery_scheduleStatesOrError_ScheduleStates_results[]; + results: SchedulerRootQuery_unLoadableScheduleStates_ScheduleStates_results[]; } -export interface SchedulerRootQuery_scheduleStatesOrError_PythonError_cause { +export interface SchedulerRootQuery_unLoadableScheduleStates_PythonError_cause { __typename: "PythonError"; message: string; stack: string[]; } -export interface SchedulerRootQuery_scheduleStatesOrError_PythonError { +export interface SchedulerRootQuery_unLoadableScheduleStates_PythonError { __typename: "PythonError"; message: string; stack: string[]; - cause: SchedulerRootQuery_scheduleStatesOrError_PythonError_cause | null; + cause: SchedulerRootQuery_unLoadableScheduleStates_PythonError_cause | null; } -export type SchedulerRootQuery_scheduleStatesOrError = SchedulerRootQuery_scheduleStatesOrError_RepositoryNotFoundError | SchedulerRootQuery_scheduleStatesOrError_ScheduleStates | SchedulerRootQuery_scheduleStatesOrError_PythonError; +export type SchedulerRootQuery_unLoadableScheduleStates = SchedulerRootQuery_unLoadableScheduleStates_RepositoryNotFoundError | SchedulerRootQuery_unLoadableScheduleStates_ScheduleStates | SchedulerRootQuery_unLoadableScheduleStates_PythonError; export interface SchedulerRootQuery { + repositoriesOrError: SchedulerRootQuery_repositoriesOrError; scheduler: SchedulerRootQuery_scheduler; - scheduleStatesOrError: SchedulerRootQuery_scheduleStatesOrError; + unLoadableScheduleStates: SchedulerRootQuery_unLoadableScheduleStates; } diff --git a/js_modules/dagit/src/schedules/types/SchedulesRootQuery.ts b/js_modules/dagit/src/schedules/types/SchedulesRootQuery.ts --- a/js_modules/dagit/src/schedules/types/SchedulesRootQuery.ts +++ b/js_modules/dagit/src/schedules/types/SchedulesRootQuery.ts @@ -14,118 +14,36 @@ __typename: "RepositoryNotFoundError"; } -export interface SchedulesRootQuery_repositoryOrError_Repository_origin_PythonRepositoryOrigin_codePointer_metadata { - __typename: "CodePointerMetadata"; - key: string; - value: string; -} - -export interface SchedulesRootQuery_repositoryOrError_Repository_origin_PythonRepositoryOrigin_codePointer { - __typename: "CodePointer"; - metadata: SchedulesRootQuery_repositoryOrError_Repository_origin_PythonRepositoryOrigin_codePointer_metadata[]; -} - -export interface SchedulesRootQuery_repositoryOrError_Repository_origin_PythonRepositoryOrigin { - __typename: "PythonRepositoryOrigin"; - codePointer: SchedulesRootQuery_repositoryOrError_Repository_origin_PythonRepositoryOrigin_codePointer; - executablePath: string; -} - -export interface SchedulesRootQuery_repositoryOrError_Repository_origin_GrpcRepositoryOrigin { - __typename: "GrpcRepositoryOrigin"; - grpcUrl: string; -} - -export type SchedulesRootQuery_repositoryOrError_Repository_origin = SchedulesRootQuery_repositoryOrError_Repository_origin_PythonRepositoryOrigin | SchedulesRootQuery_repositoryOrError_Repository_origin_GrpcRepositoryOrigin; - -export interface SchedulesRootQuery_repositoryOrError_Repository_location { - __typename: "RepositoryLocation"; - id: string; - name: string; -} - -export interface SchedulesRootQuery_repositoryOrError_Repository { - __typename: "Repository"; - name: string; - id: string; - origin: SchedulesRootQuery_repositoryOrError_Repository_origin; - location: SchedulesRootQuery_repositoryOrError_Repository_location; -} - -export interface SchedulesRootQuery_repositoryOrError_PythonError_cause { - __typename: "PythonError"; - message: string; - stack: string[]; -} - -export interface SchedulesRootQuery_repositoryOrError_PythonError { - __typename: "PythonError"; - message: string; - stack: string[]; - cause: SchedulesRootQuery_repositoryOrError_PythonError_cause | null; -} - -export type SchedulesRootQuery_repositoryOrError = SchedulesRootQuery_repositoryOrError_RepositoryNotFoundError | SchedulesRootQuery_repositoryOrError_Repository | SchedulesRootQuery_repositoryOrError_PythonError; - -export interface SchedulesRootQuery_scheduler_SchedulerNotDefinedError { - __typename: "SchedulerNotDefinedError"; - message: string; -} - -export interface SchedulesRootQuery_scheduler_Scheduler { - __typename: "Scheduler"; - schedulerClass: string | null; -} - -export interface SchedulesRootQuery_scheduler_PythonError_cause { - __typename: "PythonError"; - message: string; - stack: string[]; -} - -export interface SchedulesRootQuery_scheduler_PythonError { - __typename: "PythonError"; - message: string; - stack: string[]; - cause: SchedulesRootQuery_scheduler_PythonError_cause | null; -} - -export type SchedulesRootQuery_scheduler = SchedulesRootQuery_scheduler_SchedulerNotDefinedError | SchedulesRootQuery_scheduler_Scheduler | SchedulesRootQuery_scheduler_PythonError; - -export interface SchedulesRootQuery_scheduleDefinitionsOrError_RepositoryNotFoundError { - __typename: "RepositoryNotFoundError"; -} - -export interface SchedulesRootQuery_scheduleDefinitionsOrError_ScheduleDefinitions_results_partitionSet { +export interface SchedulesRootQuery_repositoryOrError_Repository_scheduleDefinitions_partitionSet { __typename: "PartitionSet"; name: string; } -export interface SchedulesRootQuery_scheduleDefinitionsOrError_ScheduleDefinitions_results_scheduleState_repositoryOrigin_PythonRepositoryOrigin_codePointer_metadata { +export interface SchedulesRootQuery_repositoryOrError_Repository_scheduleDefinitions_scheduleState_repositoryOrigin_PythonRepositoryOrigin_codePointer_metadata { __typename: "CodePointerMetadata"; key: string; value: string; } -export interface SchedulesRootQuery_scheduleDefinitionsOrError_ScheduleDefinitions_results_scheduleState_repositoryOrigin_PythonRepositoryOrigin_codePointer { +export interface SchedulesRootQuery_repositoryOrError_Repository_scheduleDefinitions_scheduleState_repositoryOrigin_PythonRepositoryOrigin_codePointer { __typename: "CodePointer"; - metadata: SchedulesRootQuery_scheduleDefinitionsOrError_ScheduleDefinitions_results_scheduleState_repositoryOrigin_PythonRepositoryOrigin_codePointer_metadata[]; + metadata: SchedulesRootQuery_repositoryOrError_Repository_scheduleDefinitions_scheduleState_repositoryOrigin_PythonRepositoryOrigin_codePointer_metadata[]; } -export interface SchedulesRootQuery_scheduleDefinitionsOrError_ScheduleDefinitions_results_scheduleState_repositoryOrigin_PythonRepositoryOrigin { +export interface SchedulesRootQuery_repositoryOrError_Repository_scheduleDefinitions_scheduleState_repositoryOrigin_PythonRepositoryOrigin { __typename: "PythonRepositoryOrigin"; - codePointer: SchedulesRootQuery_scheduleDefinitionsOrError_ScheduleDefinitions_results_scheduleState_repositoryOrigin_PythonRepositoryOrigin_codePointer; + codePointer: SchedulesRootQuery_repositoryOrError_Repository_scheduleDefinitions_scheduleState_repositoryOrigin_PythonRepositoryOrigin_codePointer; executablePath: string; } -export interface SchedulesRootQuery_scheduleDefinitionsOrError_ScheduleDefinitions_results_scheduleState_repositoryOrigin_GrpcRepositoryOrigin { +export interface SchedulesRootQuery_repositoryOrError_Repository_scheduleDefinitions_scheduleState_repositoryOrigin_GrpcRepositoryOrigin { __typename: "GrpcRepositoryOrigin"; grpcUrl: string; } -export type SchedulesRootQuery_scheduleDefinitionsOrError_ScheduleDefinitions_results_scheduleState_repositoryOrigin = SchedulesRootQuery_scheduleDefinitionsOrError_ScheduleDefinitions_results_scheduleState_repositoryOrigin_PythonRepositoryOrigin | SchedulesRootQuery_scheduleDefinitionsOrError_ScheduleDefinitions_results_scheduleState_repositoryOrigin_GrpcRepositoryOrigin; +export type SchedulesRootQuery_repositoryOrError_Repository_scheduleDefinitions_scheduleState_repositoryOrigin = SchedulesRootQuery_repositoryOrError_Repository_scheduleDefinitions_scheduleState_repositoryOrigin_PythonRepositoryOrigin | SchedulesRootQuery_repositoryOrError_Repository_scheduleDefinitions_scheduleState_repositoryOrigin_GrpcRepositoryOrigin; -export interface SchedulesRootQuery_scheduleDefinitionsOrError_ScheduleDefinitions_results_scheduleState_ticks_tickSpecificData_ScheduleTickSuccessData_run { +export interface SchedulesRootQuery_repositoryOrError_Repository_scheduleDefinitions_scheduleState_ticks_tickSpecificData_ScheduleTickSuccessData_run { __typename: "PipelineRun"; id: string; pipelineName: string; @@ -133,71 +51,71 @@ runId: string; } -export interface SchedulesRootQuery_scheduleDefinitionsOrError_ScheduleDefinitions_results_scheduleState_ticks_tickSpecificData_ScheduleTickSuccessData { +export interface SchedulesRootQuery_repositoryOrError_Repository_scheduleDefinitions_scheduleState_ticks_tickSpecificData_ScheduleTickSuccessData { __typename: "ScheduleTickSuccessData"; - run: SchedulesRootQuery_scheduleDefinitionsOrError_ScheduleDefinitions_results_scheduleState_ticks_tickSpecificData_ScheduleTickSuccessData_run | null; + run: SchedulesRootQuery_repositoryOrError_Repository_scheduleDefinitions_scheduleState_ticks_tickSpecificData_ScheduleTickSuccessData_run | null; } -export interface SchedulesRootQuery_scheduleDefinitionsOrError_ScheduleDefinitions_results_scheduleState_ticks_tickSpecificData_ScheduleTickFailureData_error_cause { +export interface SchedulesRootQuery_repositoryOrError_Repository_scheduleDefinitions_scheduleState_ticks_tickSpecificData_ScheduleTickFailureData_error_cause { __typename: "PythonError"; message: string; stack: string[]; } -export interface SchedulesRootQuery_scheduleDefinitionsOrError_ScheduleDefinitions_results_scheduleState_ticks_tickSpecificData_ScheduleTickFailureData_error { +export interface SchedulesRootQuery_repositoryOrError_Repository_scheduleDefinitions_scheduleState_ticks_tickSpecificData_ScheduleTickFailureData_error { __typename: "PythonError"; message: string; stack: string[]; - cause: SchedulesRootQuery_scheduleDefinitionsOrError_ScheduleDefinitions_results_scheduleState_ticks_tickSpecificData_ScheduleTickFailureData_error_cause | null; + cause: SchedulesRootQuery_repositoryOrError_Repository_scheduleDefinitions_scheduleState_ticks_tickSpecificData_ScheduleTickFailureData_error_cause | null; } -export interface SchedulesRootQuery_scheduleDefinitionsOrError_ScheduleDefinitions_results_scheduleState_ticks_tickSpecificData_ScheduleTickFailureData { +export interface SchedulesRootQuery_repositoryOrError_Repository_scheduleDefinitions_scheduleState_ticks_tickSpecificData_ScheduleTickFailureData { __typename: "ScheduleTickFailureData"; - error: SchedulesRootQuery_scheduleDefinitionsOrError_ScheduleDefinitions_results_scheduleState_ticks_tickSpecificData_ScheduleTickFailureData_error; + error: SchedulesRootQuery_repositoryOrError_Repository_scheduleDefinitions_scheduleState_ticks_tickSpecificData_ScheduleTickFailureData_error; } -export type SchedulesRootQuery_scheduleDefinitionsOrError_ScheduleDefinitions_results_scheduleState_ticks_tickSpecificData = SchedulesRootQuery_scheduleDefinitionsOrError_ScheduleDefinitions_results_scheduleState_ticks_tickSpecificData_ScheduleTickSuccessData | SchedulesRootQuery_scheduleDefinitionsOrError_ScheduleDefinitions_results_scheduleState_ticks_tickSpecificData_ScheduleTickFailureData; +export type SchedulesRootQuery_repositoryOrError_Repository_scheduleDefinitions_scheduleState_ticks_tickSpecificData = SchedulesRootQuery_repositoryOrError_Repository_scheduleDefinitions_scheduleState_ticks_tickSpecificData_ScheduleTickSuccessData | SchedulesRootQuery_repositoryOrError_Repository_scheduleDefinitions_scheduleState_ticks_tickSpecificData_ScheduleTickFailureData; -export interface SchedulesRootQuery_scheduleDefinitionsOrError_ScheduleDefinitions_results_scheduleState_ticks { +export interface SchedulesRootQuery_repositoryOrError_Repository_scheduleDefinitions_scheduleState_ticks { __typename: "ScheduleTick"; tickId: string; status: ScheduleTickStatus; timestamp: number; - tickSpecificData: SchedulesRootQuery_scheduleDefinitionsOrError_ScheduleDefinitions_results_scheduleState_ticks_tickSpecificData | null; + tickSpecificData: SchedulesRootQuery_repositoryOrError_Repository_scheduleDefinitions_scheduleState_ticks_tickSpecificData | null; } -export interface SchedulesRootQuery_scheduleDefinitionsOrError_ScheduleDefinitions_results_scheduleState_runs_tags { +export interface SchedulesRootQuery_repositoryOrError_Repository_scheduleDefinitions_scheduleState_runs_tags { __typename: "PipelineTag"; key: string; value: string; } -export interface SchedulesRootQuery_scheduleDefinitionsOrError_ScheduleDefinitions_results_scheduleState_runs { +export interface SchedulesRootQuery_repositoryOrError_Repository_scheduleDefinitions_scheduleState_runs { __typename: "PipelineRun"; id: string; runId: string; - tags: SchedulesRootQuery_scheduleDefinitionsOrError_ScheduleDefinitions_results_scheduleState_runs_tags[]; + tags: SchedulesRootQuery_repositoryOrError_Repository_scheduleDefinitions_scheduleState_runs_tags[]; pipelineName: string; status: PipelineRunStatus; } -export interface SchedulesRootQuery_scheduleDefinitionsOrError_ScheduleDefinitions_results_scheduleState { +export interface SchedulesRootQuery_repositoryOrError_Repository_scheduleDefinitions_scheduleState { __typename: "ScheduleState"; id: string; scheduleOriginId: string; - repositoryOrigin: SchedulesRootQuery_scheduleDefinitionsOrError_ScheduleDefinitions_results_scheduleState_repositoryOrigin; + repositoryOrigin: SchedulesRootQuery_repositoryOrError_Repository_scheduleDefinitions_scheduleState_repositoryOrigin; repositoryOriginId: string; scheduleName: string; cronSchedule: string; runningScheduleCount: number; - ticks: SchedulesRootQuery_scheduleDefinitionsOrError_ScheduleDefinitions_results_scheduleState_ticks[]; + ticks: SchedulesRootQuery_repositoryOrError_Repository_scheduleDefinitions_scheduleState_ticks[]; runsCount: number; - runs: SchedulesRootQuery_scheduleDefinitionsOrError_ScheduleDefinitions_results_scheduleState_runs[]; + runs: SchedulesRootQuery_repositoryOrError_Repository_scheduleDefinitions_scheduleState_runs[]; ticksCount: number; status: ScheduleStatus; } -export interface SchedulesRootQuery_scheduleDefinitionsOrError_ScheduleDefinitions_results { +export interface SchedulesRootQuery_repositoryOrError_Repository_scheduleDefinitions { __typename: "ScheduleDefinition"; id: string; name: string; @@ -205,59 +123,118 @@ pipelineName: string; solidSelection: (string | null)[] | null; mode: string; - partitionSet: SchedulesRootQuery_scheduleDefinitionsOrError_ScheduleDefinitions_results_partitionSet | null; - scheduleState: SchedulesRootQuery_scheduleDefinitionsOrError_ScheduleDefinitions_results_scheduleState | null; + partitionSet: SchedulesRootQuery_repositoryOrError_Repository_scheduleDefinitions_partitionSet | null; + scheduleState: SchedulesRootQuery_repositoryOrError_Repository_scheduleDefinitions_scheduleState | null; } -export interface SchedulesRootQuery_scheduleDefinitionsOrError_ScheduleDefinitions { - __typename: "ScheduleDefinitions"; - results: SchedulesRootQuery_scheduleDefinitionsOrError_ScheduleDefinitions_results[]; +export interface SchedulesRootQuery_repositoryOrError_Repository_origin_PythonRepositoryOrigin_codePointer_metadata { + __typename: "CodePointerMetadata"; + key: string; + value: string; } -export interface SchedulesRootQuery_scheduleDefinitionsOrError_PythonError_cause { +export interface SchedulesRootQuery_repositoryOrError_Repository_origin_PythonRepositoryOrigin_codePointer { + __typename: "CodePointer"; + metadata: SchedulesRootQuery_repositoryOrError_Repository_origin_PythonRepositoryOrigin_codePointer_metadata[]; +} + +export interface SchedulesRootQuery_repositoryOrError_Repository_origin_PythonRepositoryOrigin { + __typename: "PythonRepositoryOrigin"; + codePointer: SchedulesRootQuery_repositoryOrError_Repository_origin_PythonRepositoryOrigin_codePointer; + executablePath: string; +} + +export interface SchedulesRootQuery_repositoryOrError_Repository_origin_GrpcRepositoryOrigin { + __typename: "GrpcRepositoryOrigin"; + grpcUrl: string; +} + +export type SchedulesRootQuery_repositoryOrError_Repository_origin = SchedulesRootQuery_repositoryOrError_Repository_origin_PythonRepositoryOrigin | SchedulesRootQuery_repositoryOrError_Repository_origin_GrpcRepositoryOrigin; + +export interface SchedulesRootQuery_repositoryOrError_Repository_location { + __typename: "RepositoryLocation"; + id: string; + name: string; +} + +export interface SchedulesRootQuery_repositoryOrError_Repository { + __typename: "Repository"; + id: string; + name: string; + scheduleDefinitions: SchedulesRootQuery_repositoryOrError_Repository_scheduleDefinitions[]; + origin: SchedulesRootQuery_repositoryOrError_Repository_origin; + location: SchedulesRootQuery_repositoryOrError_Repository_location; +} + +export interface SchedulesRootQuery_repositoryOrError_PythonError_cause { + __typename: "PythonError"; + message: string; + stack: string[]; +} + +export interface SchedulesRootQuery_repositoryOrError_PythonError { + __typename: "PythonError"; + message: string; + stack: string[]; + cause: SchedulesRootQuery_repositoryOrError_PythonError_cause | null; +} + +export type SchedulesRootQuery_repositoryOrError = SchedulesRootQuery_repositoryOrError_RepositoryNotFoundError | SchedulesRootQuery_repositoryOrError_Repository | SchedulesRootQuery_repositoryOrError_PythonError; + +export interface SchedulesRootQuery_scheduler_SchedulerNotDefinedError { + __typename: "SchedulerNotDefinedError"; + message: string; +} + +export interface SchedulesRootQuery_scheduler_Scheduler { + __typename: "Scheduler"; + schedulerClass: string | null; +} + +export interface SchedulesRootQuery_scheduler_PythonError_cause { __typename: "PythonError"; message: string; stack: string[]; } -export interface SchedulesRootQuery_scheduleDefinitionsOrError_PythonError { +export interface SchedulesRootQuery_scheduler_PythonError { __typename: "PythonError"; message: string; stack: string[]; - cause: SchedulesRootQuery_scheduleDefinitionsOrError_PythonError_cause | null; + cause: SchedulesRootQuery_scheduler_PythonError_cause | null; } -export type SchedulesRootQuery_scheduleDefinitionsOrError = SchedulesRootQuery_scheduleDefinitionsOrError_RepositoryNotFoundError | SchedulesRootQuery_scheduleDefinitionsOrError_ScheduleDefinitions | SchedulesRootQuery_scheduleDefinitionsOrError_PythonError; +export type SchedulesRootQuery_scheduler = SchedulesRootQuery_scheduler_SchedulerNotDefinedError | SchedulesRootQuery_scheduler_Scheduler | SchedulesRootQuery_scheduler_PythonError; -export interface SchedulesRootQuery_scheduleStatesOrError_RepositoryNotFoundError { +export interface SchedulesRootQuery_unLoadableScheduleStates_RepositoryNotFoundError { __typename: "RepositoryNotFoundError"; } -export interface SchedulesRootQuery_scheduleStatesOrError_ScheduleStates_results_repositoryOrigin_PythonRepositoryOrigin_codePointer_metadata { +export interface SchedulesRootQuery_unLoadableScheduleStates_ScheduleStates_results_repositoryOrigin_PythonRepositoryOrigin_codePointer_metadata { __typename: "CodePointerMetadata"; key: string; value: string; } -export interface SchedulesRootQuery_scheduleStatesOrError_ScheduleStates_results_repositoryOrigin_PythonRepositoryOrigin_codePointer { +export interface SchedulesRootQuery_unLoadableScheduleStates_ScheduleStates_results_repositoryOrigin_PythonRepositoryOrigin_codePointer { __typename: "CodePointer"; - metadata: SchedulesRootQuery_scheduleStatesOrError_ScheduleStates_results_repositoryOrigin_PythonRepositoryOrigin_codePointer_metadata[]; + metadata: SchedulesRootQuery_unLoadableScheduleStates_ScheduleStates_results_repositoryOrigin_PythonRepositoryOrigin_codePointer_metadata[]; } -export interface SchedulesRootQuery_scheduleStatesOrError_ScheduleStates_results_repositoryOrigin_PythonRepositoryOrigin { +export interface SchedulesRootQuery_unLoadableScheduleStates_ScheduleStates_results_repositoryOrigin_PythonRepositoryOrigin { __typename: "PythonRepositoryOrigin"; - codePointer: SchedulesRootQuery_scheduleStatesOrError_ScheduleStates_results_repositoryOrigin_PythonRepositoryOrigin_codePointer; + codePointer: SchedulesRootQuery_unLoadableScheduleStates_ScheduleStates_results_repositoryOrigin_PythonRepositoryOrigin_codePointer; executablePath: string; } -export interface SchedulesRootQuery_scheduleStatesOrError_ScheduleStates_results_repositoryOrigin_GrpcRepositoryOrigin { +export interface SchedulesRootQuery_unLoadableScheduleStates_ScheduleStates_results_repositoryOrigin_GrpcRepositoryOrigin { __typename: "GrpcRepositoryOrigin"; grpcUrl: string; } -export type SchedulesRootQuery_scheduleStatesOrError_ScheduleStates_results_repositoryOrigin = SchedulesRootQuery_scheduleStatesOrError_ScheduleStates_results_repositoryOrigin_PythonRepositoryOrigin | SchedulesRootQuery_scheduleStatesOrError_ScheduleStates_results_repositoryOrigin_GrpcRepositoryOrigin; +export type SchedulesRootQuery_unLoadableScheduleStates_ScheduleStates_results_repositoryOrigin = SchedulesRootQuery_unLoadableScheduleStates_ScheduleStates_results_repositoryOrigin_PythonRepositoryOrigin | SchedulesRootQuery_unLoadableScheduleStates_ScheduleStates_results_repositoryOrigin_GrpcRepositoryOrigin; -export interface SchedulesRootQuery_scheduleStatesOrError_ScheduleStates_results_ticks_tickSpecificData_ScheduleTickSuccessData_run { +export interface SchedulesRootQuery_unLoadableScheduleStates_ScheduleStates_results_ticks_tickSpecificData_ScheduleTickSuccessData_run { __typename: "PipelineRun"; id: string; pipelineName: string; @@ -265,95 +242,94 @@ runId: string; } -export interface SchedulesRootQuery_scheduleStatesOrError_ScheduleStates_results_ticks_tickSpecificData_ScheduleTickSuccessData { +export interface SchedulesRootQuery_unLoadableScheduleStates_ScheduleStates_results_ticks_tickSpecificData_ScheduleTickSuccessData { __typename: "ScheduleTickSuccessData"; - run: SchedulesRootQuery_scheduleStatesOrError_ScheduleStates_results_ticks_tickSpecificData_ScheduleTickSuccessData_run | null; + run: SchedulesRootQuery_unLoadableScheduleStates_ScheduleStates_results_ticks_tickSpecificData_ScheduleTickSuccessData_run | null; } -export interface SchedulesRootQuery_scheduleStatesOrError_ScheduleStates_results_ticks_tickSpecificData_ScheduleTickFailureData_error_cause { +export interface SchedulesRootQuery_unLoadableScheduleStates_ScheduleStates_results_ticks_tickSpecificData_ScheduleTickFailureData_error_cause { __typename: "PythonError"; message: string; stack: string[]; } -export interface SchedulesRootQuery_scheduleStatesOrError_ScheduleStates_results_ticks_tickSpecificData_ScheduleTickFailureData_error { +export interface SchedulesRootQuery_unLoadableScheduleStates_ScheduleStates_results_ticks_tickSpecificData_ScheduleTickFailureData_error { __typename: "PythonError"; message: string; stack: string[]; - cause: SchedulesRootQuery_scheduleStatesOrError_ScheduleStates_results_ticks_tickSpecificData_ScheduleTickFailureData_error_cause | null; + cause: SchedulesRootQuery_unLoadableScheduleStates_ScheduleStates_results_ticks_tickSpecificData_ScheduleTickFailureData_error_cause | null; } -export interface SchedulesRootQuery_scheduleStatesOrError_ScheduleStates_results_ticks_tickSpecificData_ScheduleTickFailureData { +export interface SchedulesRootQuery_unLoadableScheduleStates_ScheduleStates_results_ticks_tickSpecificData_ScheduleTickFailureData { __typename: "ScheduleTickFailureData"; - error: SchedulesRootQuery_scheduleStatesOrError_ScheduleStates_results_ticks_tickSpecificData_ScheduleTickFailureData_error; + error: SchedulesRootQuery_unLoadableScheduleStates_ScheduleStates_results_ticks_tickSpecificData_ScheduleTickFailureData_error; } -export type SchedulesRootQuery_scheduleStatesOrError_ScheduleStates_results_ticks_tickSpecificData = SchedulesRootQuery_scheduleStatesOrError_ScheduleStates_results_ticks_tickSpecificData_ScheduleTickSuccessData | SchedulesRootQuery_scheduleStatesOrError_ScheduleStates_results_ticks_tickSpecificData_ScheduleTickFailureData; +export type SchedulesRootQuery_unLoadableScheduleStates_ScheduleStates_results_ticks_tickSpecificData = SchedulesRootQuery_unLoadableScheduleStates_ScheduleStates_results_ticks_tickSpecificData_ScheduleTickSuccessData | SchedulesRootQuery_unLoadableScheduleStates_ScheduleStates_results_ticks_tickSpecificData_ScheduleTickFailureData; -export interface SchedulesRootQuery_scheduleStatesOrError_ScheduleStates_results_ticks { +export interface SchedulesRootQuery_unLoadableScheduleStates_ScheduleStates_results_ticks { __typename: "ScheduleTick"; tickId: string; status: ScheduleTickStatus; timestamp: number; - tickSpecificData: SchedulesRootQuery_scheduleStatesOrError_ScheduleStates_results_ticks_tickSpecificData | null; + tickSpecificData: SchedulesRootQuery_unLoadableScheduleStates_ScheduleStates_results_ticks_tickSpecificData | null; } -export interface SchedulesRootQuery_scheduleStatesOrError_ScheduleStates_results_runs_tags { +export interface SchedulesRootQuery_unLoadableScheduleStates_ScheduleStates_results_runs_tags { __typename: "PipelineTag"; key: string; value: string; } -export interface SchedulesRootQuery_scheduleStatesOrError_ScheduleStates_results_runs { +export interface SchedulesRootQuery_unLoadableScheduleStates_ScheduleStates_results_runs { __typename: "PipelineRun"; id: string; runId: string; - tags: SchedulesRootQuery_scheduleStatesOrError_ScheduleStates_results_runs_tags[]; + tags: SchedulesRootQuery_unLoadableScheduleStates_ScheduleStates_results_runs_tags[]; pipelineName: string; status: PipelineRunStatus; } -export interface SchedulesRootQuery_scheduleStatesOrError_ScheduleStates_results { +export interface SchedulesRootQuery_unLoadableScheduleStates_ScheduleStates_results { __typename: "ScheduleState"; id: string; scheduleOriginId: string; - repositoryOrigin: SchedulesRootQuery_scheduleStatesOrError_ScheduleStates_results_repositoryOrigin; + repositoryOrigin: SchedulesRootQuery_unLoadableScheduleStates_ScheduleStates_results_repositoryOrigin; repositoryOriginId: string; scheduleName: string; cronSchedule: string; runningScheduleCount: number; - ticks: SchedulesRootQuery_scheduleStatesOrError_ScheduleStates_results_ticks[]; + ticks: SchedulesRootQuery_unLoadableScheduleStates_ScheduleStates_results_ticks[]; runsCount: number; - runs: SchedulesRootQuery_scheduleStatesOrError_ScheduleStates_results_runs[]; + runs: SchedulesRootQuery_unLoadableScheduleStates_ScheduleStates_results_runs[]; ticksCount: number; status: ScheduleStatus; } -export interface SchedulesRootQuery_scheduleStatesOrError_ScheduleStates { +export interface SchedulesRootQuery_unLoadableScheduleStates_ScheduleStates { __typename: "ScheduleStates"; - results: SchedulesRootQuery_scheduleStatesOrError_ScheduleStates_results[]; + results: SchedulesRootQuery_unLoadableScheduleStates_ScheduleStates_results[]; } -export interface SchedulesRootQuery_scheduleStatesOrError_PythonError_cause { +export interface SchedulesRootQuery_unLoadableScheduleStates_PythonError_cause { __typename: "PythonError"; message: string; stack: string[]; } -export interface SchedulesRootQuery_scheduleStatesOrError_PythonError { +export interface SchedulesRootQuery_unLoadableScheduleStates_PythonError { __typename: "PythonError"; message: string; stack: string[]; - cause: SchedulesRootQuery_scheduleStatesOrError_PythonError_cause | null; + cause: SchedulesRootQuery_unLoadableScheduleStates_PythonError_cause | null; } -export type SchedulesRootQuery_scheduleStatesOrError = SchedulesRootQuery_scheduleStatesOrError_RepositoryNotFoundError | SchedulesRootQuery_scheduleStatesOrError_ScheduleStates | SchedulesRootQuery_scheduleStatesOrError_PythonError; +export type SchedulesRootQuery_unLoadableScheduleStates = SchedulesRootQuery_unLoadableScheduleStates_RepositoryNotFoundError | SchedulesRootQuery_unLoadableScheduleStates_ScheduleStates | SchedulesRootQuery_unLoadableScheduleStates_PythonError; export interface SchedulesRootQuery { repositoryOrError: SchedulesRootQuery_repositoryOrError; scheduler: SchedulesRootQuery_scheduler; - scheduleDefinitionsOrError: SchedulesRootQuery_scheduleDefinitionsOrError; - scheduleStatesOrError: SchedulesRootQuery_scheduleStatesOrError; + unLoadableScheduleStates: SchedulesRootQuery_unLoadableScheduleStates; } export interface SchedulesRootQueryVariables { diff --git a/js_modules/dagit/src/schema.graphql b/js_modules/dagit/src/schema.graphql --- a/js_modules/dagit/src/schema.graphql +++ b/js_modules/dagit/src/schema.graphql @@ -39,6 +39,7 @@ usedSolid(name: String!): UsedSolid origin: RepositoryOrigin! partitionSets: [PartitionSet!]! + scheduleDefinitions: [ScheduleDefinition!]! } type RepositoryLocation { diff --git a/js_modules/dagit/src/workspace/WorkspaceContext.tsx b/js_modules/dagit/src/workspace/WorkspaceContext.tsx --- a/js_modules/dagit/src/workspace/WorkspaceContext.tsx +++ b/js_modules/dagit/src/workspace/WorkspaceContext.tsx @@ -255,14 +255,6 @@ }; }; -export const useScheduleSelector = (scheduleName: string) => { - const repositorySelector = useRepositorySelector(); - return { - ...repositorySelector, - scheduleName, - }; -}; - export const optionToRepoAddress = (option: DagsterRepoOption) => { return { name: option.repository.name, diff --git a/python_modules/dagster-graphql/dagster_graphql/implementation/fetch_schedules.py b/python_modules/dagster-graphql/dagster_graphql/implementation/fetch_schedules.py --- a/python_modules/dagster-graphql/dagster_graphql/implementation/fetch_schedules.py +++ b/python_modules/dagster-graphql/dagster_graphql/implementation/fetch_schedules.py @@ -7,6 +7,7 @@ RepositorySelector, ScheduleSelector, ) +from dagster.core.scheduler import ScheduleStatus from graphql.execution.base import ResolveInfo from .utils import UserFacingGraphQLError, capture_dauphin_error @@ -85,7 +86,12 @@ for repository in repository_location.get_repositories().values() for schedule in repository.get_external_schedules() ] - return _get_schedule_states(graphene_info, stored_schedule_states, external_schedules) + return _get_schedule_states( + graphene_info, + stored_schedule_states, + external_schedules, + with_no_schedule_definition_filter, + ) location = graphene_info.context.get_repository_location(repository_selector.location_name) repository = location.get_repository(repository_selector.repository_name) @@ -128,8 +134,10 @@ # same origin id results = list( filter( - lambda schedule_state: schedule_state.schedule_origin_id - not in external_schedule_origin_ids, + lambda schedule_state: ( + schedule_state.schedule_origin_id not in external_schedule_origin_ids + ) + and schedule_state.status == ScheduleStatus.RUNNING, results, ) ) diff --git a/python_modules/dagster-graphql/dagster_graphql/schema/external.py b/python_modules/dagster-graphql/dagster_graphql/schema/external.py --- a/python_modules/dagster-graphql/dagster_graphql/schema/external.py +++ b/python_modules/dagster-graphql/dagster_graphql/schema/external.py @@ -38,6 +38,7 @@ usedSolid = dauphin.Field("UsedSolid", name=dauphin.NonNull(dauphin.String)) origin = dauphin.NonNull("RepositoryOrigin") partitionSets = dauphin.non_null_list("PartitionSet") + scheduleDefinitions = dauphin.non_null_list("ScheduleDefinition") def resolve_id(self, _graphene_info): return self._repository.get_origin_id() @@ -52,6 +53,18 @@ def resolve_location(self, graphene_info): return graphene_info.schema.type_named("RepositoryLocation")(self._repository_location) + def resolve_scheduleDefinitions(self, graphene_info): + + schedules = self._repository.get_external_schedules() + + return sorted( + [ + graphene_info.schema.type_named("ScheduleDefinition")(graphene_info, schedule) + for schedule in schedules + ], + key=lambda schedule: schedule.name, + ) + def resolve_pipelines(self, graphene_info): return sorted( [