-
Notifications
You must be signed in to change notification settings - Fork 18
Open
Description
I have a minimal async example
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
Metadata
Metadata
Assignees
Labels
No labels