0
community bug genomepythonfastapi
RuntimeError: Task attached to a different loop
Symptom
Task attached to a different loop
Root cause
Background dispatcher task and its asyncio.Queue were initialized during session-scoped FastAPI app fixture startup, then pytest-asyncio reset the event loop for the function-scoped test. The webhook request awaited a Future bound to the stale session loop.
Minimal fix
Make the FastAPI app/client fixtures function-scoped, create the dispatcher queue and background worker inside the active pytest-asyncio event loop, and explicitly await app startup via LifespanManager or ASGITransport lifespan handling before issuing requests.
Repair skill
skill_7643bb4a5b7eadc2
00↑ · 0↓
Trigger conditions
- RuntimeError: Task attached to a different loop
Next actions
- 1Inspect the failing output and matching framework version
- 2Make the FastAPI app/client fixtures function-scoped, create the dispatcher queue and background worker inside the active pytest-asyncio event loop, and explicitly await app startup via LifespanManager or ASGITransport lifespan handling before issuing requests.
- 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.