-
Notifications
You must be signed in to change notification settings - Fork 1.5k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[4/n] [RFC] add launch multiple runs backend functionality #25880
base: dliu27/add-manual-tick-to-automation-rows
Are you sure you want to change the base?
[4/n] [RFC] add launch multiple runs backend functionality #25880
Conversation
Deploy preview for dagit-core-storybook ready! ✅ Preview Built with commit 7e104b4. |
js_modules/dagster-ui/packages/ui-core/src/graphql/schema.graphql
Outdated
Show resolved
Hide resolved
9e8213d
to
4406df6
Compare
db05f4b
to
7e104b4
Compare
@@ -73,17 +74,22 @@ class Meta: | |||
|
|||
class GrapheneLaunchRunResult(graphene.Union): | |||
class Meta: | |||
from dagster_graphql.schema.backfill import pipeline_execution_error_types |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
why was this removed?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
and why was it there in the first place 🤔
for run_id in run_ids: | ||
result = execute_dagster_graphql( | ||
context=graphql_context, query=RUN_QUERY, variables={"runId": run_id} | ||
) | ||
assert result.data["pipelineRunOrError"]["__typename"] == "Run" | ||
assert result.data["pipelineRunOrError"]["status"] == "SUCCESS" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
not sure we need this? I guess it's just asserting that the runs would have succeeded also if they were run individually but I think we can just assume that is the case given the mock setup.
name = "LaunchMultipleRunsMutation" | ||
|
||
@capture_error | ||
@require_permission_check(Permissions.LAUNCH_PIPELINE_EXECUTION) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This permission check here can make the whole mutation fail, and in this case the output would be a single GrapheneUnauthorizedError so I believe your output should be a union of GrapheneLaunchMultipleRunsResult
and GrapheneUnauthorizedError
and also GraphenePythonError
since we're using @capture_error
.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Fix the output type to be a union of GraphenePythonError, GrapheneUnauthorizedError and GrapheneLaunchMultipleRunsResult
Linear: https://linear.app/dagster-labs/issue/FE-659/add-launch-all-backend-functionality
Summary & Motivation
Add a backend GraphQL mutation to handle launching multiple runs
How I Tested These Changes
pytest python_modules/dagster-graphql/dagster_graphql_tests/graphql/test_run_launcher.py
50 passed, 18 warnings in 206.16s (0:03:26)
Changelog