TypeError: create_task() got an unexpected keyword argument 'eager_start'
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 4/5
- Tempo stimato
- 3-5 giorni
- Idoneità per principianti
- 48/100
Direzione di ricerca
Inizia da uvloop.loop.Loop.create_task in loop.pyx, dove il traceback mostra che l’argomento denominato eager_start di Python 3.14 viene rifiutato, e confrontalo con il comportamento di asyncio.create_task. Determina come uvloop dovrebbe accettare e rispettare eager_start=True senza limitarsi a ignorarlo; il lavoro è completato quando la chiamata segnalata funziona con uvloop con la semantica eager-start prevista.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
python 3.14.2 asyncio.create_task() accepts a kwarg eager_start: True. uvloop 0.22.1 does not and raises a type error:
File "/Users/enda/Workspaces/project/api/src/prject/queries/counts.py", line 84, in _single_flight
task = asyncio.create_task(_run(), name=f"single_flight:{key}", eager_start=True)
File "/Users/enda/.local/share/uv/python/cpython-3.14.2-macos-aarch64-none/lib/python3.14/asyncio/tasks.py", line 395, in create_task
return loop.create_task(coro, **kwargs)
~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^
File "uvloop/loop.pyx", line 1415, in uvloop.loop.Loop.create_task
TypeError: create_task() got an unexpected keyword argument 'eager_start'
I understand that "accept but ignore-with-a-warning" is not a desirable approach as developers will expect that passing this in as True will cause the task to start eagerly. However, at present the first sentence of the project "uvloop is a fast, drop-in replacement of the built-in asyncio event loop. " is no longer100% accurate and that's not desired either.
I've only recently become aware of eager_start but it /seems/ to have been in discussion for over 18 months: https://discuss.python.org/t/make-asyncio-eager-task-factory-default/75164 (and uvloop gets a mention in there).
As I don't know what is involved in accepting and respecting an eager_start=True I don't want to say what I expect this issue to amount to, but it made its way pasting our testing as we were not using uvloop in the original tests which covered our _single_flight code, but our deployed code hit it. Clearly we have now fixed that testing oversite but others may experience this too.
- Lingua principale
- Cython
- Stelle
- 11.9k
- Fork
- 615
- Metriche di merge delle PR
- Nessuna PR unita negli ultimi 30g
Guida per i contributori
Nessuna guida per i contributori indicizzata per questo repository
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 MagicStack/uvloop
-
License not clear Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
MagicStack/uvloop#759 ·
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
MagicStack/uvloop#741 · 2 reazioni ·
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
MagicStack/uvloop#702 · 8 commenti · 9 reazioni ·
-
Difficoltà 3/5 1-2 giorni Idoneità per principianti 68/100
MagicStack/uvloop#763 ·
-
Difficoltà 3/5 1-2 giorni Idoneità per principianti 68/100
MagicStack/uvloop#760 ·
Tutte le issue di MagicStack/uvloop
Issue simili
-
documentation
Difficoltà 2/5 1-3 ore Idoneità per principianti 76/100
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 74/100
get-convex/migrations#69 ·
-
Observer env strips CLAUDE_CODE_TMPDIR, which is the documented fix for a fatal temp-dir error Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 76/100
thedotmack/claude-mem#4161 ·
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 74/100
connectrpc/connect-py#342 ·
-
01 type: bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 84/100
plone/cookieplone-templates#471 ·