|
7 | 7 | from datetime import datetime, timedelta, timezone
|
8 | 8 | from hashlib import sha256
|
9 | 9 | from logging import getLogger
|
10 |
| -from typing import TYPE_CHECKING, Annotated, Final |
| 10 | +from typing import TYPE_CHECKING, Final |
11 | 11 |
|
12 | 12 | from cachetools import LRUCache
|
13 |
| -from pydantic import BaseModel, ConfigDict, Field |
14 | 13 | from typing_extensions import override
|
15 | 14 |
|
16 | 15 | from apify_client import ApifyClientAsync
|
17 | 16 | from crawlee._utils.crypto import crypto_random_object_id
|
18 | 17 | from crawlee.storage_clients._base import RequestQueueClient
|
19 | 18 | from crawlee.storage_clients.models import AddRequestsResponse, ProcessedRequest, RequestQueueMetadata
|
20 | 19 |
|
21 |
| -from ._models import CachedRequest, ProlongRequestLockResponse, RequestQueueHead |
| 20 | +from ._models import ( |
| 21 | + ApifyRequestQueueMetadata, |
| 22 | + CachedRequest, |
| 23 | + ProlongRequestLockResponse, |
| 24 | + RequestQueueHead, |
| 25 | + RequestQueueStats, |
| 26 | +) |
22 | 27 | from apify import Request
|
23 | 28 |
|
24 | 29 | if TYPE_CHECKING:
|
@@ -54,30 +59,6 @@ def unique_key_to_request_id(unique_key: str, *, request_id_length: int = 15) ->
|
54 | 59 | return url_safe_key[:request_id_length]
|
55 | 60 |
|
56 | 61 |
|
57 |
| -class RequestQueueStats(BaseModel): |
58 |
| - model_config = ConfigDict(populate_by_name=True) |
59 |
| - |
60 |
| - delete_count: Annotated[int, Field(alias='deleteCount', default=0)] |
61 |
| - """"The number of request queue deletes.""" |
62 |
| - |
63 |
| - head_item_read_count: Annotated[int, Field(alias='headItemReadCount', default=0)] |
64 |
| - """The number of request queue head reads.""" |
65 |
| - |
66 |
| - read_count: Annotated[int, Field(alias='readCount', default=0)] |
67 |
| - """The number of request queue reads.""" |
68 |
| - |
69 |
| - storage_bytes: Annotated[int, Field(alias='storageBytes', default=0)] |
70 |
| - """Storage size in Bytes.""" |
71 |
| - |
72 |
| - write_count: Annotated[int, Field(alias='writeCount', default=0)] |
73 |
| - """The number of request queue writes.""" |
74 |
| - |
75 |
| - |
76 |
| -class ApifyRequestQueueMetadata(RequestQueueMetadata): |
77 |
| - stats: Annotated[RequestQueueStats, Field(alias='stats', default_factory=RequestQueueStats)] |
78 |
| - """Additional statistics about the request queue.""" |
79 |
| - |
80 |
| - |
81 | 62 | class ApifyRequestQueueClient(RequestQueueClient):
|
82 | 63 | """An Apify platform implementation of the request queue client."""
|
83 | 64 |
|
|
0 commit comments