Page MenuHomeElementl

[dag-star] graphql endpoint
ClosedPublic

Authored by alangenfeld on Jul 9 2021, 8:22 PM.

Details

Summary

adds the http graphql endpoint, websockets to follow

depends on D8809

Test Plan

added tests
load graphql playground, ensure it works

Diff Detail

Repository
R1 dagster
Lint
Lint Passed
Unit
No Test Coverage

Event Timeline

alangenfeld edited the test plan for this revision. (Show Details)
Harbormaster returned this revision to the author for changes because remote builds failed.Jul 9 2021, 8:48 PM
Harbormaster failed remote builds in B33510: Diff 41351!
python_modules/dagit/dagit/starlette.py
53–55

lol

Another significant change with this release is the deprecation of built-in GraphQL support.

https://github.com/encode/starlette/blob/119c427474a45bd1297f5adcde864b2874dd8c4f/docs/release-notes.md

102–108

wonder if it'd be useful to have some sort of flag to turn on/off the threaded behavior, especially for debugging

python_modules/dagit/dagit_tests/starlette/test_app.py
31

maybe these tests should be common across starlette and flask?

python_modules/dagit/dagit/starlette.py
53–55

yeah there are other graphql frameworks that offer ASGI handlers/endpoints, but we can't really use them directly without conflicting with our existing deps from the graphql-ws frankenstein set up so i've had to end up forking instead of dealing with conflicting dep mgmt.

We should be able to switch to something like strawberry-graphql after we shed the graphql-ws stuff

This revision is now accepted and ready to land.Jul 13 2021, 4:03 PM
This revision was automatically updated to reflect the committed changes.