Async state and message handler
Los mantenedores suelen responder en 2 días
Nadie ha tomado este issue todavía.
- #1411 de @Nikhil172913832 — cerrado sin fusionar
Evaluación
- Dificultad
- 5/5
- Tiempo estimado
- Más de una semana
- Aptitud para principiantes
- 25/100
- Tipo de issue
- Nueva funcionalidad
- Claridad
- Necesita aclaración
- Estado de actividad
- Estancado
- Stack tecnológico
- python
- Área
- testing-qa
Línea de trabajo
Comienza localizando los puntos de entrada state_handler y message_handler y leyendo cómo se invocan actualmente las funciones síncronas. Compara los requisitos de asyncio, trio y curio, incluidos ContextVar y los efectos sobre los hilos; se considera terminado cuando los handlers asíncronos compatibles funcionan sin romper los handlers síncronos existentes y están cubiertos por pruebas.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
Have you read the Contributing Guidelines on issues?
- I have read the Contributing Guidelines on issues.
Description
Original suggestion by Val on Slack
To allow the state_handler and message_handler functions to handle asynchronous functions.
Motivation
These two functions are used to interface with code outside of Pact Python to setup/teardown states and generate messages. Especially in the case of the state setup and teardown, a common pattern would be to make a number of calls to (mocked or not) databases or other services to ensure they are in a particular state. These requests can be significantly sped up by running them in parallel, such as with an asyncio.gather call or using a task group.
Have you tried building it?
Not yet, but I will first open this issue and ask for anyone with specific examples to work towards.
While asynchronous function bring a number of advantages, they can also bring some complications. In particular:
- There are a number of underlying runtimes:
asyncio,trio,curio. If possible, it would be ideal to support all of these. - The use of threads has implications for
ContextVar(if used)
Self-service
- I'd be willing to contribute this feature to Pact Python myself.
- Lenguaje dominante
- Python
- Estrellas
- 685
- Forks
- 147
- Merge medio
- 4 d 8 h
- PR fusionados (30 d)
- 14
Preparar el entorno
Inicia el contenedor de desarrollo del proyecto en tu navegador, con tu propia cuenta de GitHub.
- Sin Dockerfile ni archivo de Docker Compose
- Tiene una plantilla de pull request
- Leer la guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de pact-foundation/pact-python
-
Add `abi3t` WheelsAbierto
Dificultad 4/5 3-5 días Aptitud para principiantes 42/100
pact-foundation/pact-python#1603 · 1 comentario ·
Los mantenedores suelen responder en 2 días
-
Post v3 tracking issueQuizá libre de nuevo @JP-Ellis la tomó hace 374 días y no hay ningún pull request abierto. Abiertotype:tracking
pact-foundation/pact-python#1272 · 1 asignado ·
Los mantenedores suelen responder en 2 días
-
area:documentation difficulty:easy type:chore
Dificultad 3/5 1-2 días Aptitud para principiantes 48/100
pact-foundation/pact-python#1267 ·
Los mantenedores suelen responder en 2 días
-
Create message Pact docsAbiertoarea:documentation difficulty:easy type:chore
Dificultad 3/5 1-2 días Aptitud para principiantes 45/100
pact-foundation/pact-python#1266 · 2 comentarios ·
Los mantenedores suelen responder en 2 días
-
(V3) Verifying a contract with a missing content field is always successful when it should errorPosiblemente ocupada @JP-Ellis la tomó hace 374 días. Abiertoarea:core type:bug
pact-foundation/pact-python#1103 · 5 comentarios · 1 asignado ·
Los mantenedores suelen responder en 2 días
Todos los issues de pact-foundation/pact-python
Issues similares
-
Workflow.schedule stops when a cron deadline passes before sleepPosiblemente ocupada @HuaTNA la tomó hoy. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 82/100
Los mantenedores suelen responder en 1 día
-
[Bug] HiveDialect shares its colspecs dict with SQLAlchemy's DefaultDialect (python/pyhive)Posiblemente ocupada @rusackas la tomó hoy. Abierto
Dificultad 1/5 Menos de una hora Aptitud para principiantes 80/100
apache/kyuubi#7786 · 1 comentario ·
Los mantenedores suelen responder en 2 días
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 80/100
Los mantenedores suelen responder en 1 día
-
[20.0] hr_work_entry: Duration column of Export Time Entries is truncated to whole hoursPosiblemente ocupada @odooaktiv la tomó hoy. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
Los mantenedores suelen responder en 1 día
-
fix formatting of the sample database page of the docsPosiblemente ocupada @Aaqibhafeezkhan la tomó hoy. Abiertodocumentation good first issue help wanted
Dificultad 1/5 Menos de una hora Aptitud para principiantes 72/100
chaoss/CollectOSS#544 · 1 comentario ·
Los mantenedores suelen responder en 1 día