{"record":{"id":"a69308889838a73a","repo":"PaddlePaddle/PaddleOCR","slug":"request-timed-out-e","errorCode":null,"errorMessage":"Request timed out: {e}","messagePattern":"Request timed out: (.+?)","errorType":"exception","errorClass":"RequestTimeoutError","httpStatus":null,"severity":"error","filePath":"paddleocr/_api_client/_http.py","lineNumber":120,"sourceCode":"        batch_id: Optional[str] = None,\n    ) -> str:\n        body = {\n            \"fileUrl\": file_url,\n            \"model\": model,\n            \"optionalPayload\": optional_payload,\n        }\n        if page_ranges is not None:\n            body[\"pageRanges\"] = page_ranges\n        if batch_id is not None:\n            body[\"batchId\"] = batch_id\n        try:\n            resp = self._session.post(\n                self._jobs_url,\n                json=body,\n                timeout=self._timeout,\n            )\n        except requests.Timeout as e:\n            raise RequestTimeoutError(f\"Request timed out: {e}\") from e\n        except requests.ConnectionError as e:\n            raise NetworkError(f\"Connection failed: {e}\") from e\n        _raise_for_response(resp)\n        return _job_id_from_response(resp)\n\n    def submit_file(\n        self,\n        model: str,\n        file_path: str,\n        optional_payload: dict,\n        page_ranges: Optional[str] = None,\n        batch_id: Optional[str] = None,\n    ) -> str:\n        if not os.path.exists(file_path):\n            raise FileNotFoundError(file_path)\n        data = {\n            \"model\": model,\n            \"optionalPayload\": json.dumps(optional_payload),","sourceCodeStart":102,"sourceCodeEnd":138,"githubUrl":"https://github.com/PaddlePaddle/PaddleOCR/blob/2661c7c0ef5c613e8f93c6e93b2e052399f0f854/paddleocr/_api_client/_http.py#L102-L138","documentation":"Error \"Request timed out: {e}\" thrown in PaddlePaddle/PaddleOCR.","triggerScenarios":"Raised when the underlying HTTP request exceeds the configured client timeout (requests.Timeout).","commonSituations":"The request exceeded the configured timeout. Occurs on slow networks or overloaded servers. Increase the timeout, check connectivity, and retry with backoff.","solutions":["Increase the client timeout if the server is slow (pass a larger timeout when constructing the client).","Check network connectivity and latency between your host and the PaddleOCR API endpoint.","Retry with exponential backoff; reduce request size (smaller files or fewer pages) if uploads are slow."],"exampleFix":"client = PaddleOCRClient(token=..., timeout=60.0)  # raise the timeout\n# or split large submissions into smaller jobs","handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"2661c7c0ef5c613e8f93c6e93b2e052399f0f854","analyzedAt":"2026-08-14T20:17:30.180Z","schemaVersion":2},"datasetVersion":"2026-08-15T17:31:12.345Z"}