Skip to content

Commit e5f8f87

Browse files
chengzeyiclaude
andcommitted
Include task ID in API client error messages
This helps users debug failed predictions by providing the task ID in error messages for timeouts, failures, and result retrieval errors. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
1 parent fcf1cad commit e5f8f87

1 file changed

Lines changed: 10 additions & 4 deletions

File tree

src/wavespeed/api/client.py

Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -179,7 +179,8 @@ def _get_result(
179179

180180
if response.status_code != 200:
181181
raise RuntimeError(
182-
f"Failed to get result: HTTP {response.status_code}: {response.text}"
182+
f"Failed to get result for task {request_id}: "
183+
f"HTTP {response.status_code}: {response.text}"
183184
)
184185

185186
return response.json()
@@ -199,7 +200,8 @@ def _get_result(
199200
time.sleep(delay)
200201
else:
201202
raise RuntimeError(
202-
f"Failed to get result after {self.max_connection_retries + 1} attempts"
203+
f"Failed to get result for task {request_id} "
204+
f"after {self.max_connection_retries + 1} attempts"
203205
) from e
204206

205207
def _wait(
@@ -229,7 +231,9 @@ def _wait(
229231
if timeout is not None:
230232
elapsed = time.time() - start_time
231233
if elapsed >= timeout:
232-
raise TimeoutError(f"Prediction timed out after {timeout} seconds")
234+
raise TimeoutError(
235+
f"Prediction timed out after {timeout} seconds (task_id: {request_id})"
236+
)
233237

234238
result = self._get_result(request_id, timeout=timeout)
235239
data = result.get("data", {})
@@ -240,7 +244,9 @@ def _wait(
240244

241245
if status == "failed":
242246
error = data.get("error") or "Unknown error"
243-
raise RuntimeError(f"Prediction failed: {error}")
247+
raise RuntimeError(
248+
f"Prediction failed (task_id: {request_id}): {error}"
249+
)
244250

245251
time.sleep(poll_interval)
246252

0 commit comments

Comments
 (0)