graphql-python / graphql-python/sanic-graphql

Minimal async fails

未关闭
#19 5 条评论 0 个 reaction 已指派 0 人 在 GitHub 查看
主要语言
Python
星标
148
派生
17
PR 合并指标
30 天内没有已合并 PR

描述

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

贡献指南

这个仓库没有索引到贡献指南

评估

这个 Issue 还没有评估数据。

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。