Async state and message handler
I maintainer di solito rispondono entro 2 giorni
Nessuno ha ancora preso questa issue.
- #1411 di @Nikhil172913832 — chiusa senza merge
Valutazione
- Difficoltà
- 5/5
- Tempo stimato
- Più di una settimana
- Idoneità per principianti
- 25/100
- Tipo di issue
- Funzionalità
- Chiarezza
- Da chiarire
- Stato di attività
- Ferma
- Stack tecnologico
- python
- Ambito
- testing-qa
Direzione di ricerca
Inizia individuando i punti di ingresso state_handler e message_handler e leggendo come vengono attualmente invocate le funzioni sincrone. Confronta i requisiti di asyncio, trio e curio, inclusi ContextVar e le implicazioni per i thread; il lavoro è completo quando gli handler asincroni supportati funzionano senza compromettere gli handler sincroni esistenti e sono coperti da test.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
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.
- Lingua principale
- Python
- Stelle
- 685
- Fork
- 147
- Merge medio
- 4g 8h
- PR unite (30g)
- 14
Preparare l'ambiente
Avvia il container di sviluppo del progetto nel browser, con il tuo account GitHub.
- Nessun Dockerfile né file Docker Compose
- Ha un modello di pull request
- Leggi la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di pact-foundation/pact-python
-
Add `abi3t` WheelsAperta
Difficoltà 4/5 3-5 giorni Idoneità per principianti 42/100
pact-foundation/pact-python#1603 · 1 commento ·
I maintainer di solito rispondono entro 2 giorni
-
Post v3 tracking issueForse di nuovo libera @JP-Ellis l’ha presa 377 giorni fa e non c’è nessuna pull request aperta. Apertatype:tracking
pact-foundation/pact-python#1272 · 1 assegnatario ·
I maintainer di solito rispondono entro 2 giorni
-
area:documentation difficulty:easy type:chore
Difficoltà 3/5 1-2 giorni Idoneità per principianti 48/100
pact-foundation/pact-python#1267 ·
I maintainer di solito rispondono entro 2 giorni
-
Create message Pact docsApertaarea:documentation difficulty:easy type:chore
Difficoltà 3/5 1-2 giorni Idoneità per principianti 45/100
pact-foundation/pact-python#1266 · 2 commenti ·
I maintainer di solito rispondono entro 2 giorni
-
(V3) Verifying a contract with a missing content field is always successful when it should errorForse già presa @JP-Ellis l’ha presa 377 giorni fa. Apertaarea:core type:bug
pact-foundation/pact-python#1103 · 5 commenti · 1 assegnatario ·
I maintainer di solito rispondono entro 2 giorni
Tutte le issue di pact-foundation/pact-python
Issue simili
-
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 65/100
521xueweihan/HelloGitHub#4025 ·
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 85/100
aws-samples/sample-per-model-bedrock#321 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 1/5 1-3 ore Idoneità per principianti 68/100
FavioVazquez/showtime#101 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
koush/ha_scrypted#81 ·
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 82/100
google/osv-scanner-action#147 ·