diff --git a/src/crawlee/storage_clients/_redis/_request_queue_client.py b/src/crawlee/storage_clients/_redis/_request_queue_client.py index 26d754eed8..6bd0fb19ed 100644 --- a/src/crawlee/storage_clients/_redis/_request_queue_client.py +++ b/src/crawlee/storage_clients/_redis/_request_queue_client.py @@ -402,7 +402,6 @@ async def mark_request_as_handled(self, request: Request) -> ProcessedRequest | await await_redis_response(pipe.bf().add(self._handled_filter_key, request.unique_key)) await await_redis_response(pipe.hdel(self._in_progress_key, request.unique_key)) - await await_redis_response(pipe.hdel(self._data_key, request.unique_key)) await self._update_metadata( pipe, diff --git a/tests/unit/storages/test_request_queue.py b/tests/unit/storages/test_request_queue.py index 83e9eade28..86e4b028ff 100644 --- a/tests/unit/storages/test_request_queue.py +++ b/tests/unit/storages/test_request_queue.py @@ -361,6 +361,17 @@ async def test_get_request_by_id(rq: RequestQueue) -> None: assert retrieved_request.url == 'https://example.com' +async def test_handled_request_records_persistence(rq: RequestQueue) -> None: + request = Request.from_url('https://example.com/1') + await rq.add_request(request) + fetched_request = await rq.fetch_next_request() + assert isinstance(fetched_request, Request) + await rq.mark_request_as_handled(fetched_request) + fetched_request = await rq.get_request(request.unique_key) + assert isinstance(fetched_request, Request) + assert fetched_request.unique_key == request.unique_key + + async def test_get_non_existent_request(rq: RequestQueue) -> None: """Test retrieving a request that doesn't exist.""" non_existent_request = await rq.get_request('non-existent-id')