graphql-python / graphql-python/graphql-core-legacy

Execute should return an awaitable with AsyncioExecutor

Abierto
#78 4 comentarios 0 reacciones 0 asignados Ver en GitHub
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

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.