032: Phase 1-2 — setup deps + AsyncAPIClient extend + client_registry + executors
Phase 1 (Setup): - T001: requirements-dev.txt with pytest-httpx - T002: aiofiles added to requirements.txt - T003: aiosmtplib added to requirements.txt - T004: EnvironmentConfig extended (connection_pool_size, etc.) + AppAsyncRuntimeConfig created (executor workers, shutdown) Phase 2 (Foundational): - T007: AsyncAPIClient extended — semaphore parameter, request() method - T008a: SupersetClientRegistry — singleton per-env client/semaphore/lock - T008b: run_blocking helper + bounded executors (db/file/git) RATIONALE: httpx.AsyncClient replaces requests.Session; singleton registry ensures global per-env semaphore; named executors prevent thread pool exhaustion. REJECTED: asyncio.to_thread (default executor, no backpressure); per-request clients (lose pooling); dual-stack (rejected at clarify).
This commit is contained in:
@@ -60,3 +60,5 @@ ruff>=0.11.0
|
||||
sqlparse>=0.5.0
|
||||
lingua-language-detector==2.1.1
|
||||
testcontainers[postgres]>=4.0
|
||||
aiofiles>=24.1.0
|
||||
aiosmtplib>=3.0.2
|
||||
|
||||
Reference in New Issue
Block a user