Skip to content

Commit 38df4eb

Browse files
committed
Use forgotten RQ specific code
1 parent 531869a commit 38df4eb

File tree

1 file changed

+8
-1
lines changed

1 file changed

+8
-1
lines changed

src/apify/storage_clients/_apify/_request_queue_client.py

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66
from typing_extensions import override
77

88
from apify_client.clients import RequestQueueClientAsync
9+
from crawlee._utils.crypto import crypto_random_object_id
910
from crawlee.storage_clients._base import RequestQueueClient
1011
from crawlee.storages import RequestQueue
1112

@@ -263,4 +264,10 @@ def _get_metadata(raw_metadata: dict | None) -> ApifyRequestQueueMetadata:
263264
return ApifyRequestQueueMetadata.model_validate(raw_metadata)
264265

265266
def _get_resource_client(self, id: str) -> RequestQueueClientAsync:
266-
return self._api_client.request_queue(request_queue_id=id)
267+
# Use suitable client_key to make `hadMultipleClients` response of Apify API useful.
268+
# It should persist across migrated or resurrected Actor runs on the Apify platform.
269+
_api_max_client_key_length = 32
270+
client_key = (self._configuration.actor_run_id or crypto_random_object_id(length=_api_max_client_key_length))[
271+
:_api_max_client_key_length
272+
]
273+
return self._api_client.request_queue(request_queue_id=id, client_key=client_key)

0 commit comments

Comments
 (0)