planning towards supporting fully mixed sync/async hook calling
I maintainer di solito rispondono entro 1 giorno
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 5/5
- Tempo stimato
- Più di una settimana
- Idoneità per principianti
- 20/100
Direzione di ricerca
Non vengono nominati file, test o punti di ingresso. Inizia esaminando il chiamante di hook async proposto e i casi descritti di annidamento sync/async e di thread-executor. Il lavoro sarebbe completato quando saranno disponibili un design concordato e un’implementazione che supporti il comportamento descritto di chiamata mista degli hook.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
cc @simonw
this is a rough outline of supporting async hook calls and awaitable results in
the starting point will be a async hook caller that will call sync and async hook, deferring all awaitables to the event loop
nesting like async->sync->async will trigger failures when awaitables are encountered in the inner loop
the next level will be deferring all sync calls to a thread executor
any sync call that triggers a awaitable, will steal one thread of that pool , this is considered acceptable as execution is typically expected to be fairly non-concurrent (based on pytest)
a own threadpool with a maxium size of 10 ? shal be used (this accounts for the expectation that hooks run in order and should not nest to arbitrary levels)
nonblocking sync hooks may be marked as nonblocking
in which case they may run in the mainloop, as before nesting async into sync will trigger errros
the primary use case for nonblocking sync hooks is to support being nested into other legacy hooks without causing issues but transparently working with modern hook calls
- Lingua principale
- Python
- Stelle
- 1.7k
- Fork
- 172
- Merge medio
- 2g 18h
- PR unite (30g)
- 21
Preparare l'ambiente
Questo progetto non fornisce container di sviluppo, Dockerfile né guida per i contributori, quindi l'ambiente è a tuo carico: parti dal suo README e consulta la nostra guida al primo contributo per i passaggi generali.
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 pytest-dev/pluggy
-
Plugin registry compares plugins by equality, not identityForse già presa Una pull request collegata a questa issue è aperta o già unita. Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 62/100
pytest-dev/pluggy#760 ·
I maintainer di solito rispondono entro 1 giorno
-
Defaulted positional-only hook parameters are forwarded as keywordsForse già presa @adenzhou1350 l’ha presa 1 giorno fa. Aperta
Difficoltà 4/5 1-2 giorni Idoneità per principianti 45/100
pytest-dev/pluggy#774 ·
I maintainer di solito rispondono entro 1 giorno
-
list_plugin_distinfo() keeps unregistered pluginsForse già presa @RonnyPfannschmidt l’ha presa 2 giorni fa. Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 35/100
pytest-dev/pluggy#763 ·
I maintainer di solito rispondono entro 1 giorno
-
unregister() argument validation relies on assertForse già presa @ekanshul l’ha presa 2 giorni fa. Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 42/100
pytest-dev/pluggy#762 ·
I maintainer di solito rispondono entro 1 giorno
-
Failures during add_hookspecs / historic replay leave partial stateForse già presa Una pull request collegata a questa issue è aperta o già unita. Aperta
Difficoltà 3/5 1-2 giorni Idoneità per principianti 50/100
pytest-dev/pluggy#761 ·
I maintainer di solito rispondono entro 1 giorno
Tutte le issue di pytest-dev/pluggy
Issue simili
-
bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 76/100
lugassawan/swe-workbench#799 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 74/100
vllm-project/vllm#61131 ·
I maintainer di solito rispondono entro 1 giorno
-
Non-string form field names raise AttributeError when files are attachedForse già presa @nightcityblade l’ha presa oggi. Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 82/100
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
kubernetes-client/python#2735 ·
I maintainer di solito rispondono entro 1 giorno
-
desktop help wanted test
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
I maintainer di solito rispondono entro 1 giorno