Minimal async fails
还没有人认领这个 Issue。
评估
调研方向
首先使用 Sanic、GraphQLView 和 AsyncioExecutor 重现最小 Python 示例,比较正常工作的 goodbye 查询与失败的 hello 查询。检查 GraphQLView.as_view 集成和异步执行路径;当 hello 查询能够完成且不会停止服务器,同时同步查询仍然正常工作时,即表示完成。
由索引模型根据 Issue 内容生成。
描述
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
- 主要语言
- Python
- 星标
- 148
- 派生
- 17
- PR 合并指标
- 30 天内没有已合并 PR
贡献指南
这个仓库没有索引到贡献指南
从这里开始
- 先读完整个 Issue,再读项目的贡献指南。
- 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
- Fork 仓库,在一个分支上完成修改。
- 提交 Pull Request,并在描述里引用这个 Issue 编号。
graphql-python/sanic-graphql 的其他 Issue
-
难度 5/5 一周以上 新手友好度 20/100
graphql-python/sanic-graphql#25 · 4 个 reaction ·
-
难度 4/5 3-5 天 新手友好度 30/100
graphql-python/sanic-graphql#24 · 1 条评论 · 1 个 reaction ·
-
难度 5/5 一周以上 新手友好度 25/100
-
难度 4/5 3-5 天 新手友好度 20/100
-
难度 5/5 一周以上 新手友好度 25/100
graphql-python/sanic-graphql#15 · 2 个 reaction ·
查看 graphql-python/sanic-graphql 的全部 Issue
相似的 Issue
-
bug confirmed issue
难度 2/5 1-3 小时 新手友好度 75/100
open-webui/open-webui#30750 · 1 条评论 ·
-
难度 2/5 1-3 小时 新手友好度 75/100
-
enhancement
难度 2/5 1-3 小时 新手友好度 75/100
OpenwaterHealth/openmotion-bloodflow-app#604 · 1 条评论 ·
-
难度 2/5 1-3 小时 新手友好度 70/100
-
good first issue
难度 1/5 1 小时以内 新手友好度 90/100