Skip to content

Commit b807c69

Browse files
vdusekclaude
andcommitted
fix: stop silently swallowing exceptions in RQ mark_request_as_handled and reclaim_request
Both the single and shared request queue clients caught all exceptions in `mark_request_as_handled` and `reclaim_request`, logged them at DEBUG level, and returned `None`. This made it impossible for callers to distinguish between "request was not in progress" (legitimate None per the base class contract) and "API call failed" (swallowed error). Silently swallowing errors also meant metadata counters could drift from platform state without any visible indication of the problem. Remove the catch-all `except Exception` blocks and let exceptions propagate naturally so callers can handle failures appropriately. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
1 parent 56aa42e commit b807c69

File tree

2 files changed

+8
-8
lines changed

2 files changed

+8
-8
lines changed

src/apify/storage_clients/_apify/_request_queue_shared_client.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -235,8 +235,8 @@ async def mark_request_as_handled(self, request: Request) -> ProcessedRequest |
235235
processed_request=processed_request,
236236
hydrated_request=request,
237237
)
238-
except Exception as exc:
239-
logger.debug(f'Error marking request {request.unique_key} as handled: {exc!s}')
238+
except Exception:
239+
logger.exception(f'Error marking request {request.unique_key} as handled')
240240
return None
241241
else:
242242
return processed_request
@@ -279,8 +279,8 @@ async def reclaim_request(
279279
if forefront:
280280
self._should_check_for_forefront_requests = True
281281

282-
except Exception as exc:
283-
logger.debug(f'Error reclaiming request {request.unique_key}: {exc!s}')
282+
except Exception:
283+
logger.exception(f'Error reclaiming request {request.unique_key}')
284284
return None
285285
else:
286286
return processed_request

src/apify/storage_clients/_apify/_request_queue_single_client.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -220,8 +220,8 @@ async def mark_request_as_handled(self, request: Request) -> ProcessedRequest |
220220
self._requests_cache.pop(request_id)
221221
self._requests_in_progress.discard(request_id)
222222

223-
except Exception as exc:
224-
logger.debug(f'Error marking request {request.unique_key} as handled: {exc!s}')
223+
except Exception:
224+
logger.exception(f'Error marking request {request.unique_key} as handled')
225225
return None
226226
else:
227227
return processed_request
@@ -263,8 +263,8 @@ async def reclaim_request(
263263
self.metadata.handled_request_count -= 1
264264
self.metadata.pending_request_count += 1
265265

266-
except Exception as exc:
267-
logger.debug(f'Error reclaiming request {request.unique_key}: {exc!s}')
266+
except Exception:
267+
logger.exception(f'Error reclaiming request {request.unique_key}')
268268
return None
269269
else:
270270
return processed_request

0 commit comments

Comments
 (0)