diff --git a/js_modules/dagster-ui/packages/ui-core/src/graphql/schema.graphql b/js_modules/dagster-ui/packages/ui-core/src/graphql/schema.graphql index 947e55d374e80..e0efb8359e094 100644 --- a/js_modules/dagster-ui/packages/ui-core/src/graphql/schema.graphql +++ b/js_modules/dagster-ui/packages/ui-core/src/graphql/schema.graphql @@ -1447,6 +1447,7 @@ type Run implements PipelineRun & RunsFeedEntry { hasDeletePermission: Boolean! hasConcurrencyKeySlots: Boolean! rootConcurrencyKeys: [String!] + allConcurrencyKeys: [String!] hasUnconstrainedRootNodes: Boolean! hasRunMetricsEnabled: Boolean! } diff --git a/js_modules/dagster-ui/packages/ui-core/src/graphql/types.ts b/js_modules/dagster-ui/packages/ui-core/src/graphql/types.ts index 1f6f601abbe2c..e21a2c45dd1c9 100644 --- a/js_modules/dagster-ui/packages/ui-core/src/graphql/types.ts +++ b/js_modules/dagster-ui/packages/ui-core/src/graphql/types.ts @@ -4485,6 +4485,7 @@ export type ResumeBackfillSuccess = { export type Run = PipelineRun & RunsFeedEntry & { __typename: 'Run'; + allConcurrencyKeys: Maybe>; assetCheckSelection: Maybe>; assetChecks: Maybe>; assetMaterializations: Array; @@ -13147,6 +13148,10 @@ export const buildRun = ( relationshipsToOmit.add('Run'); return { __typename: 'Run', + allConcurrencyKeys: + overrides && overrides.hasOwnProperty('allConcurrencyKeys') + ? overrides.allConcurrencyKeys! + : [], assetCheckSelection: overrides && overrides.hasOwnProperty('assetCheckSelection') ? overrides.assetCheckSelection! diff --git a/python_modules/dagster-graphql/dagster_graphql/schema/pipelines/pipeline.py b/python_modules/dagster-graphql/dagster_graphql/schema/pipelines/pipeline.py index aba66781f27f4..1287ab0aa02c8 100644 --- a/python_modules/dagster-graphql/dagster_graphql/schema/pipelines/pipeline.py +++ b/python_modules/dagster-graphql/dagster_graphql/schema/pipelines/pipeline.py @@ -389,6 +389,7 @@ class GrapheneRun(graphene.ObjectType): hasDeletePermission = graphene.NonNull(graphene.Boolean) hasConcurrencyKeySlots = graphene.NonNull(graphene.Boolean) rootConcurrencyKeys = graphene.List(graphene.NonNull(graphene.String)) + allConcurrencyKeys = graphene.List(graphene.NonNull(graphene.String)) hasUnconstrainedRootNodes = graphene.NonNull(graphene.Boolean) hasRunMetricsEnabled = graphene.NonNull(graphene.Boolean) @@ -622,6 +623,16 @@ def resolve_hasUnconstrainedRootNodes(self, graphene_info: ResolveInfo): return False + def resolve_allConcurrencyKeys(self, graphene_info: ResolveInfo): + if not self.dagster_run.run_op_concurrency: + return None + + return ( + list(self.dagster_run.run_op_concurrency.all_pools) + if self.dagster_run.run_op_concurrency.all_pools + else [] + ) + def resolve_rootConcurrencyKeys(self, graphene_info: ResolveInfo): if not self.dagster_run.run_op_concurrency: return None