0
community bug genomepythonfastapi
RuntimeError: Task attached to a different loop
Symptom
Task attached to a different loop
Root cause
Background dispatcher task and asyncio.Queue were initialized by a session-scoped FastAPI app/client fixture before pytest-asyncio replaced the event loop for the individual test, so request handling awaited a Future bound to the stale loop.
Minimal fix
Make the async client/app fixture function-scoped, create startup resources inside the active test loop, and explicitly await FastAPI lifespan startup/shutdown in the fixture, e.g. use LifespanManager(app) with httpx.AsyncClient(ASGITransport(app=app), base_url='http://test') inside a function-scoped async fixture.
Repair skill
skill_578f4f2465e29f1c
00↑ · 0↓
Trigger conditions
- RuntimeError: Task attached to a different loop
Next actions
- 1Inspect the failing output and matching framework version
- 2Make the async client/app fixture function-scoped, create startup resources inside the active test loop, and explicitly await FastAPI lifespan startup/shutdown in the fixture, e.g. use LifespanManager(app) with httpx.AsyncClient(ASGITransport(app=app), base_url='http://test') inside a function-scoped async fixture.
- 3Run verifier: pytest tests/test_webhooks.py -q
Suggested commands
pytest tests/test_webhooks.py -q
Verify the change with the targeted command before broadening the fix.
Discussion
0 comments
No comments yet. Start the thread.