graphql-python / graphql-python/graphql-core-legacy
Execute should return an awaitable with AsyncioExecutor
- Lenguaje dominante
- Python
- Estrellas
- 372
- Forks
- 175
- Métricas de merge de PR
- Sin PR fusionados en 30 d
Descripción
The current graphql.execution.execute.execute implementation forces AsyncioExecutor to use loop.run_until_complete in wait_until_finished. This is a bit ugly.
It would be better to let the executor decide what is returned from the execute method. It can be given a function to call after the data is ready as an argument.
With this AsyncioExecutor could return an awaitable and execute would be used as one would expect
`result = await execute(schema, ast, executor=AsyncioExecutor())`
It could even have an argument to get the new way to keep compatibility with existing uses.
This would also make TwistedExecutor much easier to implement.
Guía de contribución
No hay ninguna guía de contribución indexada para este repositorio
Línea de trabajo
Comienza en graphql.execution.execute.execute e inspecciona cómo AsyncioExecutor usa wait_until_finished; después, compara los puntos de integración del executor relevantes para TwistedExecutor. Define cómo proporciona el executor el callback posterior a los datos y cómo se conserva la compatibilidad. Se considera terminado cuando AsyncioExecutor puede devolver un awaitable utilizable con await execute, mientras se siguen admitiendo los usos existentes.
Escrito por el modelo de indexación a partir del texto del issue.
Evaluación
- Stack tecnológico
- python
- Área
- api
- Tipo de issue
- Nueva funcionalidad
- Dificultad
- 5/5
- Tiempo estimado
- Más de una semana
- Estado de actividad
- Estancado
- Claridad
- Bastante claro
- Aptitud para principiantes
- 25/100