@crawlee/core 4.0.0-beta.99 → 4.0.0-rc.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/autoscaling/autoscaled_pool.d.ts +3 -21
- package/autoscaling/autoscaled_pool.js +105 -97
- package/autoscaling/concurrency_system.d.ts +7 -22
- package/autoscaling/concurrency_system.js +112 -100
- package/autoscaling/cpu_load_signal.d.ts +1 -2
- package/autoscaling/cpu_load_signal.js +11 -10
- package/autoscaling/event_loop_load_signal.d.ts +1 -4
- package/autoscaling/event_loop_load_signal.js +18 -18
- package/autoscaling/index.d.ts +1 -1
- package/autoscaling/index.js +1 -1
- package/autoscaling/load_signal.d.ts +8 -7
- package/autoscaling/load_signal.js +14 -12
- package/autoscaling/memory_load_signal.d.ts +3 -12
- package/autoscaling/memory_load_signal.js +41 -41
- package/autoscaling/snapshotter.d.ts +7 -10
- package/autoscaling/snapshotter.js +18 -18
- package/autoscaling/{client_load_signal.d.ts → storage_backend_load_signal.d.ts} +14 -17
- package/autoscaling/{client_load_signal.js → storage_backend_load_signal.js} +27 -27
- package/autoscaling/system_status.d.ts +9 -11
- package/autoscaling/system_status.js +13 -13
- package/configuration.d.ts +16 -16
- package/configuration.js +6 -6
- package/crawlers/context_pipeline.js +6 -6
- package/crawlers/crawler_commons.d.ts +14 -112
- package/crawlers/crawler_commons.js +1 -107
- package/crawlers/error_snapshotter.d.ts +2 -4
- package/crawlers/error_snapshotter.js +5 -5
- package/crawlers/index.d.ts +1 -1
- package/crawlers/index.js +0 -1
- package/crawlers/statistics.d.ts +164 -45
- package/crawlers/statistics.js +339 -153
- package/debug.js +4 -4
- package/enqueue_links/enqueue_links.d.ts +51 -159
- package/enqueue_links/enqueue_links.js +38 -231
- package/enqueue_links/shared.d.ts +34 -24
- package/enqueue_links/shared.js +54 -36
- package/errors.d.ts +43 -12
- package/errors.js +48 -9
- package/events/event_manager.d.ts +2 -2
- package/events/event_manager.js +7 -6
- package/events/local_event_manager.d.ts +1 -1
- package/events/local_event_manager.js +5 -5
- package/http.d.ts +9 -0
- package/http.js +28 -0
- package/index.d.ts +1 -1
- package/index.js +1 -1
- package/log.js +5 -1
- package/memory-storage/memory-storage.d.ts +3 -11
- package/memory-storage/memory-storage.js +42 -48
- package/memory-storage/resource-clients/dataset.d.ts +1 -1
- package/memory-storage/resource-clients/dataset.js +8 -13
- package/memory-storage/resource-clients/key-value-store.d.ts +1 -1
- package/memory-storage/resource-clients/key-value-store.js +36 -38
- package/memory-storage/resource-clients/request-queue.d.ts +4 -23
- package/memory-storage/resource-clients/request-queue.js +68 -80
- package/owned_or_injected.d.ts +1 -3
- package/owned_or_injected.js +17 -17
- package/package.json +8 -9
- package/proxy_configuration.d.ts +1 -3
- package/proxy_configuration.js +18 -14
- package/recoverable_state.d.ts +80 -45
- package/recoverable_state.js +163 -75
- package/request.d.ts +3 -4
- package/request.js +57 -44
- package/router.d.ts +6 -9
- package/router.js +23 -23
- package/serialization.js +14 -13
- package/service_locator.d.ts +19 -10
- package/service_locator.js +57 -48
- package/session_pool/session.d.ts +3 -14
- package/session_pool/session.js +76 -74
- package/session_pool/session_pool.d.ts +6 -12
- package/session_pool/session_pool.js +85 -77
- package/storages/batched_adds.d.ts +37 -0
- package/storages/batched_adds.js +73 -0
- package/storages/dataset.d.ts +12 -1
- package/storages/dataset.js +133 -32
- package/storages/index.d.ts +2 -1
- package/storages/index.js +2 -1
- package/storages/key_value_store.d.ts +19 -4
- package/storages/key_value_store.js +204 -75
- package/storages/request_dedup_cache.d.ts +1 -2
- package/storages/request_dedup_cache.js +9 -9
- package/storages/request_list.d.ts +4 -23
- package/storages/request_list.js +103 -96
- package/storages/request_loader.d.ts +5 -0
- package/storages/request_manager_tandem.d.ts +1 -10
- package/storages/request_manager_tandem.js +27 -27
- package/storages/request_queue.d.ts +21 -18
- package/storages/request_queue.js +318 -177
- package/storages/sitemap_request_loader.d.ts +22 -70
- package/storages/sitemap_request_loader.js +122 -116
- package/storages/storage_instance_manager.d.ts +1 -2
- package/storages/storage_instance_manager.js +17 -17
- package/storages/storage_stats.d.ts +1 -1
- package/storages/storage_stats.js +4 -4
- package/storages/throttling_request_manager.d.ts +239 -0
- package/storages/throttling_request_manager.js +646 -0
- package/storages/transaction.d.ts +252 -0
- package/storages/transaction.js +251 -0
- package/storages/utils.d.ts +6 -3
- package/storages/utils.js +11 -2
- package/system-info/runtime.js +7 -7
- package/url.d.ts +9 -0
- package/url.js +11 -0
- package/validators.d.ts +22 -25
- package/validators.js +13 -25
- package/storages/access_checking.d.ts +0 -12
- package/storages/access_checking.js +0 -17
|
@@ -4,6 +4,7 @@ import type { CrawleeLogger } from '../log.js';
|
|
|
4
4
|
import type { IProxyConfiguration } from '../proxy_configuration.js';
|
|
5
5
|
import type { Source } from '../request.js';
|
|
6
6
|
import { Request } from '../request.js';
|
|
7
|
+
import type { JournalEntry } from './transaction.js';
|
|
7
8
|
import type { IRequestManager, RequestsLike } from './request_manager.js';
|
|
8
9
|
import type { RequestQueueStats } from './storage_stats.js';
|
|
9
10
|
import type { IStorage, StorageIdentifier } from './storage_instance_manager.js';
|
|
@@ -43,29 +44,13 @@ import type { StorageOpenOptions } from './utils.js';
|
|
|
43
44
|
* @category Sources
|
|
44
45
|
*/
|
|
45
46
|
export declare class RequestQueue implements IStorage, IRequestManager {
|
|
47
|
+
#private;
|
|
46
48
|
readonly id: string;
|
|
47
49
|
readonly name?: string;
|
|
48
50
|
readonly backend: RequestQueueBackend;
|
|
49
|
-
private proxyConfiguration?;
|
|
50
51
|
readonly log: CrawleeLogger;
|
|
51
52
|
private requestCache;
|
|
52
|
-
/**
|
|
53
|
-
* Remembers the `requestId` of every request already submitted to the client — including background
|
|
54
|
-
* batches that `requestCache` skips — so overlapping URL sets aren't re-submitted.
|
|
55
|
-
* See {@link RequestDeduplicationCache} for why this is a separate, cheaper cache.
|
|
56
|
-
*/
|
|
57
|
-
private requestSeenCache;
|
|
58
|
-
private queuePausedForMigration;
|
|
59
53
|
private inProgressRequestBatchCount;
|
|
60
|
-
/**
|
|
61
|
-
* The largest expected request-processing time (in seconds) seen so far via
|
|
62
|
-
* {@link setExpectedRequestProcessingTimeSecs}. Used to ensure that value is only ever raised, never
|
|
63
|
-
* lowered, before being forwarded to the storage backend.
|
|
64
|
-
*/
|
|
65
|
-
private expectedRequestProcessingSecs;
|
|
66
|
-
private httpClient?;
|
|
67
|
-
private readonly events;
|
|
68
|
-
private readonly statsTracker;
|
|
69
54
|
/**
|
|
70
55
|
* Backend-independent usage counters tracked for this request queue (write operations and
|
|
71
56
|
* queue-head reads issued to the underlying storage backend). Counted per backend call.
|
|
@@ -102,6 +87,24 @@ export declare class RequestQueue implements IStorage, IRequestManager {
|
|
|
102
87
|
* @param [options] Request queue operation options.
|
|
103
88
|
*/
|
|
104
89
|
addRequest(requestLike: Source, options?: RequestQueueOperationOptions): Promise<RequestQueueOperationInfo>;
|
|
90
|
+
/**
|
|
91
|
+
* Journals an addition for introspection only; these entries are never replayed. A no-op unless the
|
|
92
|
+
* transaction is open, so detached and outliving writers stay out of the journal.
|
|
93
|
+
*/
|
|
94
|
+
private recordRequestJournalEntry;
|
|
95
|
+
/**
|
|
96
|
+
* The requests buffered by the given transaction for this queue, keyed by `uniqueKey` — a dedup
|
|
97
|
+
* index derived from the transaction journal.
|
|
98
|
+
*/
|
|
99
|
+
private bufferedRequests;
|
|
100
|
+
/**
|
|
101
|
+
* Adds a request under the `deferred` policy: journaled now, really added by the commit replay.
|
|
102
|
+
* A new request's `requestId` is the local `uniqueKey` hash and is **provisional** — never write it
|
|
103
|
+
* to `request.id` or the dedup caches. Dedup is cheapest-first: buffer, caches, then a backend probe.
|
|
104
|
+
*/
|
|
105
|
+
private addRequestDeferred;
|
|
106
|
+
/** @internal */
|
|
107
|
+
commitJournalEntries(entries: JournalEntry[]): Promise<void>;
|
|
105
108
|
/**
|
|
106
109
|
* Adds requests to the queue in batches of 25. This method will wait till all the requests are added
|
|
107
110
|
* to the queue before resolving. You should prefer using `queue.addRequestsBatched()` or `crawler.addRequests()`
|
|
@@ -257,7 +260,7 @@ export declare class RequestQueue implements IStorage, IRequestManager {
|
|
|
257
260
|
/**
|
|
258
261
|
* @internal wraps public utility for mocking purposes
|
|
259
262
|
*/
|
|
260
|
-
private
|
|
263
|
+
private downloadListOfUrls;
|
|
261
264
|
/**
|
|
262
265
|
* Opens a request queue and returns a promise resolving to an instance
|
|
263
266
|
* of the {@link RequestQueue} class.
|