graphql-python / graphql-python/sanic-graphql

Minimal async fails

Open
#19 5 comments 0 reactions 0 assignees View on GitHub
Dominant language
Python
Stars
148
Forks
17
PR merge metrics
No merged PRs in 30d

Description

I have a minimal async example
```python
from graphene import ObjectType, String, Schema
from graphql.execution.executors.asyncio import AsyncioExecutor
from sanic import Sanic
from sanic_graphql import GraphQLView

class Query(ObjectType):
hello = String(name=String(default_value="stranger"))
goodbye = String()

async def resolve_hello(root, info, name):
return f'Hello {name}!'

def resolve_goodbye(root, info):
return 'See ya!'

schema = Schema(query=Query)

app = Sanic(__name__)
app.debug = True

@app.listener('before_server_start')
def init_graphql(app, loop):
app.add_route(GraphQLView.as_view(schema=schema, executor=AsyncioExecutor(loop=loop)), '/graphql')

if __name__ == '__main__':
app.run()
```
I can do a synchronous resolve
```
{
goodbye
}
```
But running
```
{
hello
}
```
Fails and the server stops, I'm assuming something is blocking the event loop but I can't find where

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.