Investigate Python SDK concurrency limitations
@seherv ya está trabajando en esto.
Desde el 28/4/2026.
Evaluación
Este issue todavía no se ha evaluado.
Descripción
The Python Dapr SDK currently relies on threadpool-based execution for workflow and activity processing. This model has known limitations:
- The GIL (Global Interpreter Lock) constrains true parallelism for CPU-bound work
- Thread pool exhaustion under high concurrency can delay sidecar acknowledgments
Native asyncio execution would allow the SDK to handle a higher volume of concurrent workflow tasks without the overhead and contention introduced by thread management, reducing sidecar response latency under sustained load.
Goals
- Quantify the throughput and latency characteristics of the current threadpool implementation under sustained workflow load
- Rewrite workflow and activity execution to use native asyncio
- Validate that the rewrite improves sidecar response latency and throughput under load conditions
Tasks
- Benchmark current threadpool implementation — measure workflow throughput, activity concurrency, and sidecar acknowledgment latency under sustained load
- Document failure conditions — identify load thresholds at which sidecar response times begin to degrade
- Design asyncio execution model — propose the replacement architecture for workflow and activity dispatch
- Implement asyncio rewrite — replace threadpool-based execution with native asyncio in the workflow worker
- Ensure existing workflow and activity behavior is preserved
- Load validate — re-run benchmarks against the rewritten implementation under production-representative load and confirm improvement in sidecar response latency and throughput
- Document operational guidance — update SDK documentation with concurrency configuration recommendations for workflow-heavy deployments
- Write Dapr OSS blog on findings
- Lenguaje dominante
- Python
- Estrellas
- 272
- Forks
- 152
- Merge medio
- 1 d 13 h
- PR fusionados (30 d)
- 4
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 dapr/python-sdk
-
dapr-ext-workflow good first issue kind/enhancement P2
Dificultad 2/5 1-2 días Aptitud para principiantes 72/100
dapr/python-sdk#853 · 4 comentarios ·
-
feature-request
Dificultad 3/5 1-2 días Aptitud para principiantes 76/100
dapr/python-sdk#1214 ·
-
dapr-ext-workflow kind/enhancement
Dificultad 3/5 1-2 días Aptitud para principiantes 78/100
dapr/python-sdk#1213 ·
-
Dificultad 3/5 1-2 días Aptitud para principiantes 76/100
dapr/python-sdk#1200 ·
-
dapr-ext-workflow kind/enhancement
Dificultad 3/5 1-2 días Aptitud para principiantes 58/100
dapr/python-sdk#1188 ·
Todos los issues de dapr/python-sdk
Issues similares
-
bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100
xinnan-tech/xiaozhi-fde-talk#263 ·
-
rules
Dificultad 1/5 Menos de una hora Aptitud para principiantes 90/100
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 70/100
huggingface/Repo2RLEnv#163 · 1 comentario ·
-
Dificultad 1/5 Menos de una hora Aptitud para principiantes 95/100
huggingface/sentence-transformers#4074 ·
-
comp/dashboard invalid P3
Dificultad 2/5 1-3 horas Aptitud para principiantes 70/100
NousResearch/hermes-agent#121143 ·