graphql-python / graphql-python/sanic-graphql

Minimal async fails

Aperta
#19 5 commenti 0 reazioni 0 assegnatari Vedi su GitHub
Lingua principale
Python
Stelle
148
Fork
17
Metriche di merge delle PR
Nessuna PR unita negli ultimi 30g

Descrizione

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

Guida per i contributori

Nessuna guida per i contributori indicizzata per questo repository

Valutazione

Questa issue non è ancora stata valutata.

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.