Seen once under Granian when the query failed before the first byte: Task exception was never retrieved: RuntimeError('Cannot change state of finished Timeout') from cancel_scope.reschedule(loop.time()) in watch_for_disconnect (pgdevkit/fastapi/json_response.py). The watcher is cancelled in the finally, so this needs a window I could not reproduce deterministically; a guard (if not cancel_scope.expired() / suppress RuntimeError around reschedule) would make it harmless. Found in the review of #58. (The related 'No response returned.' with BaseHTTPMiddleware is fixed in #58.)
Seen once under Granian when the query failed before the first byte:
Task exception was never retrieved: RuntimeError('Cannot change state of finished Timeout')fromcancel_scope.reschedule(loop.time())inwatch_for_disconnect(pgdevkit/fastapi/json_response.py). The watcher is cancelled in thefinally, so this needs a window I could not reproduce deterministically; a guard (if not cancel_scope.expired()/ suppress RuntimeError around reschedule) would make it harmless. Found in the review of #58. (The related 'No response returned.' with BaseHTTPMiddleware is fixed in #58.)