@crawlee/memory-storage 4.0.0-beta.5 → 4.0.0-beta.50
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/README.md +9 -5
- package/background-handler/fs-utils.d.ts +2 -1
- package/background-handler/fs-utils.d.ts.map +1 -1
- package/background-handler/fs-utils.js +2 -4
- package/background-handler/fs-utils.js.map +1 -1
- package/background-handler/index.d.ts +2 -1
- package/background-handler/index.d.ts.map +1 -1
- package/background-handler/index.js +4 -4
- package/background-handler/index.js.map +1 -1
- package/cache-helpers.d.ts.map +1 -1
- package/cache-helpers.js +9 -9
- package/cache-helpers.js.map +1 -1
- package/fs/key-value-store/fs.d.ts +1 -0
- package/fs/key-value-store/fs.d.ts.map +1 -1
- package/fs/key-value-store/fs.js +7 -3
- package/fs/key-value-store/fs.js.map +1 -1
- package/fs/key-value-store/index.d.ts +2 -0
- package/fs/key-value-store/index.d.ts.map +1 -1
- package/fs/key-value-store/index.js.map +1 -1
- package/memory-storage.d.ts +13 -10
- package/memory-storage.d.ts.map +1 -1
- package/memory-storage.js +110 -37
- package/memory-storage.js.map +1 -1
- package/package.json +5 -5
- package/resource-clients/dataset.d.ts +5 -3
- package/resource-clients/dataset.d.ts.map +1 -1
- package/resource-clients/dataset.js +32 -9
- package/resource-clients/dataset.js.map +1 -1
- package/resource-clients/key-value-store.d.ts +14 -2
- package/resource-clients/key-value-store.d.ts.map +1 -1
- package/resource-clients/key-value-store.js +147 -20
- package/resource-clients/key-value-store.js.map +1 -1
- package/resource-clients/request-queue.d.ts +1 -1
- package/resource-clients/request-queue.d.ts.map +1 -1
- package/resource-clients/request-queue.js +6 -6
- package/resource-clients/request-queue.js.map +1 -1
- package/utils.d.ts +50 -2
- package/utils.d.ts.map +1 -1
- package/utils.js +141 -2
- package/utils.js.map +1 -1
- package/resource-clients/dataset-collection.d.ts +0 -14
- package/resource-clients/dataset-collection.d.ts.map +0 -1
- package/resource-clients/dataset-collection.js +0 -49
- package/resource-clients/dataset-collection.js.map +0 -1
- package/resource-clients/key-value-store-collection.d.ts +0 -14
- package/resource-clients/key-value-store-collection.d.ts.map +0 -1
- package/resource-clients/key-value-store-collection.js +0 -53
- package/resource-clients/key-value-store-collection.js.map +0 -1
- package/resource-clients/request-queue-collection.d.ts +0 -14
- package/resource-clients/request-queue-collection.d.ts.map +0 -1
- package/resource-clients/request-queue-collection.js +0 -53
- package/resource-clients/request-queue-collection.js.map +0 -1
- package/tsconfig.build.tsbuildinfo +0 -1
package/README.md
CHANGED
|
@@ -9,6 +9,10 @@
|
|
|
9
9
|
<small>A web scraping and browser automation library</small>
|
|
10
10
|
</h1>
|
|
11
11
|
|
|
12
|
+
<p align=center>
|
|
13
|
+
<a href="https://trendshift.io/repositories/5179" target="_blank"><img src="https://trendshift.io/api/badge/repositories/5179" alt="apify%2Fcrawlee | Trendshift" style="width: 250px; height: 55px;" width="250" height="55"/></a>
|
|
14
|
+
</p>
|
|
15
|
+
|
|
12
16
|
<p align=center>
|
|
13
17
|
<a href="https://www.npmjs.com/package/@crawlee/core" rel="nofollow"><img src="https://img.shields.io/npm/v/@crawlee/core.svg" alt="NPM latest version" data-canonical-src="https://img.shields.io/npm/v/@crawlee/core/next.svg" style="max-width: 100%;"></a>
|
|
14
18
|
<a href="https://www.npmjs.com/package/@crawlee/core" rel="nofollow"><img src="https://img.shields.io/npm/dm/@crawlee/core.svg" alt="Downloads" data-canonical-src="https://img.shields.io/npm/dm/@crawlee/core.svg" style="max-width: 100%;"></a>
|
|
@@ -24,7 +28,7 @@ Crawlee is available as the [`crawlee`](https://www.npmjs.com/package/crawlee) N
|
|
|
24
28
|
|
|
25
29
|
> 👉 **View full documentation, guides and examples on the [Crawlee project website](https://crawlee.dev)** 👈
|
|
26
30
|
|
|
27
|
-
>
|
|
31
|
+
> Do you prefer 🐍 Python instead of JavaScript? [👉 Checkout Crawlee for Python 👈](https://github.com/apify/crawlee-python).
|
|
28
32
|
|
|
29
33
|
## Installation
|
|
30
34
|
|
|
@@ -85,7 +89,7 @@ By default, Crawlee stores data to `./storage` in the current working directory.
|
|
|
85
89
|
We provide automated beta builds for every merged code change in Crawlee. You can find them in the npm [list of releases](https://www.npmjs.com/package/crawlee?activeTab=versions). If you want to test new features or bug fixes before we release them, feel free to install a beta build like this:
|
|
86
90
|
|
|
87
91
|
```bash
|
|
88
|
-
npm install crawlee@
|
|
92
|
+
npm install crawlee@next
|
|
89
93
|
```
|
|
90
94
|
|
|
91
95
|
If you also use the [Apify SDK](https://github.com/apify/apify-sdk-js), you need to specify dependency overrides in your `package.json` file so that you don't end up with multiple versions of Crawlee installed:
|
|
@@ -94,9 +98,9 @@ If you also use the [Apify SDK](https://github.com/apify/apify-sdk-js), you need
|
|
|
94
98
|
{
|
|
95
99
|
"overrides": {
|
|
96
100
|
"apify": {
|
|
97
|
-
"@crawlee/core": "
|
|
98
|
-
"@crawlee/types": "
|
|
99
|
-
"@crawlee/utils": "
|
|
101
|
+
"@crawlee/core": "$crawlee",
|
|
102
|
+
"@crawlee/types": "$crawlee",
|
|
103
|
+
"@crawlee/utils": "$crawlee"
|
|
100
104
|
}
|
|
101
105
|
}
|
|
102
106
|
}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
|
+
import type { CrawleeLogger } from '@crawlee/types';
|
|
1
2
|
import type { BackgroundHandlerReceivedMessage } from '../utils.js';
|
|
2
|
-
export declare function handleMessage(message: BackgroundHandlerReceivedMessage): Promise<void>;
|
|
3
|
+
export declare function handleMessage(message: BackgroundHandlerReceivedMessage, logger?: CrawleeLogger): Promise<void>;
|
|
3
4
|
export declare function lockAndWrite(filePath: string, data: unknown, stringify?: boolean, retry?: number, timeout?: number): Promise<void>;
|
|
4
5
|
export declare function lockAndCallback<Callback extends () => Promise<any>>(filePath: string, callback: Callback, retry?: number, timeout?: number): Promise<Awaited<ReturnType<Callback>>>;
|
|
5
6
|
//# sourceMappingURL=fs-utils.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fs-utils.d.ts","sourceRoot":"","sources":["../../src/background-handler/fs-utils.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"fs-utils.d.ts","sourceRoot":"","sources":["../../src/background-handler/fs-utils.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAIpD,OAAO,KAAK,EAAE,gCAAgC,EAA0C,MAAM,aAAa,CAAC;AAE5G,wBAAsB,aAAa,CAAC,OAAO,EAAE,gCAAgC,EAAE,MAAM,CAAC,EAAE,aAAa,iBAYpG;AAiBD,wBAAsB,YAAY,CAC9B,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,OAAO,EACb,SAAS,UAAO,EAChB,KAAK,SAAK,EACV,OAAO,SAAK,GACb,OAAO,CAAC,IAAI,CAAC,CAiBf;AAED,wBAAsB,eAAe,CAAC,QAAQ,SAAS,MAAM,OAAO,CAAC,GAAG,CAAC,EACrE,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,QAAQ,EAClB,KAAK,SAAK,EACV,OAAO,SAAK,GACb,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,CAkBxC"}
|
|
@@ -4,9 +4,7 @@ import { resolve } from 'node:path';
|
|
|
4
4
|
import { setTimeout } from 'node:timers/promises';
|
|
5
5
|
import { ensureDir } from 'fs-extra/esm';
|
|
6
6
|
import { lock } from 'proper-lockfile';
|
|
7
|
-
|
|
8
|
-
const backgroundHandlerLog = log.child({ prefix: 'MemoryStorageBackgroundHandler' });
|
|
9
|
-
export async function handleMessage(message) {
|
|
7
|
+
export async function handleMessage(message, logger) {
|
|
10
8
|
switch (message.action) {
|
|
11
9
|
case 'update-metadata':
|
|
12
10
|
await updateMetadata(message);
|
|
@@ -14,7 +12,7 @@ export async function handleMessage(message) {
|
|
|
14
12
|
default:
|
|
15
13
|
// We're keeping this to make eslint happy + in the event we add a new action without adding checks for it
|
|
16
14
|
// we should be aware of them
|
|
17
|
-
|
|
15
|
+
logger?.warning(`Unknown background handler message action ${message.action}`);
|
|
18
16
|
}
|
|
19
17
|
}
|
|
20
18
|
async function updateMetadata(message) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fs-utils.js","sourceRoot":"","sources":["../../src/background-handler/fs-utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AACpC,OAAO,EAAE,SAAS,IAAI,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC3D,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"fs-utils.js","sourceRoot":"","sources":["../../src/background-handler/fs-utils.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import type { CrawleeLogger } from '@crawlee/types';
|
|
1
2
|
import type { BackgroundHandlerReceivedMessage } from '../utils.js';
|
|
2
3
|
/**
|
|
3
4
|
* A map of promises that are created when a background task is scheduled.
|
|
@@ -8,5 +9,5 @@ export declare const promiseMap: Map<string, {
|
|
|
8
9
|
promise: Promise<void>;
|
|
9
10
|
resolve: () => void;
|
|
10
11
|
}>;
|
|
11
|
-
export declare function scheduleBackgroundTask(message: BackgroundHandlerReceivedMessage): void;
|
|
12
|
+
export declare function scheduleBackgroundTask(message: BackgroundHandlerReceivedMessage, logger?: CrawleeLogger): void;
|
|
12
13
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/background-handler/index.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,gCAAgC,EAAE,MAAM,aAAa,CAAC;AAGpE;;;;GAIG;AACH,eAAO,MAAM,UAAU,EAAE,GAAG,CACxB,MAAM,EACN;IACI,OAAO,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;IACvB,OAAO,EAAE,MAAM,IAAI,CAAC;CACvB,CACQ,CAAC;AAEd,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,gCAAgC,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/background-handler/index.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAEpD,OAAO,KAAK,EAAE,gCAAgC,EAAE,MAAM,aAAa,CAAC;AAGpE;;;;GAIG;AACH,eAAO,MAAM,UAAU,EAAE,GAAG,CACxB,MAAM,EACN;IACI,OAAO,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;IACvB,OAAO,EAAE,MAAM,IAAI,CAAC;CACvB,CACQ,CAAC;AAEd,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,gCAAgC,EAAE,MAAM,CAAC,EAAE,aAAa,QAoBvG"}
|
|
@@ -6,7 +6,7 @@ import { handleMessage } from './fs-utils.js';
|
|
|
6
6
|
* @internal
|
|
7
7
|
*/
|
|
8
8
|
export const promiseMap = new Map();
|
|
9
|
-
export function scheduleBackgroundTask(message) {
|
|
9
|
+
export function scheduleBackgroundTask(message, logger) {
|
|
10
10
|
const id = randomUUID();
|
|
11
11
|
let promiseResolve;
|
|
12
12
|
const promise = new Promise((res) => {
|
|
@@ -19,10 +19,10 @@ export function scheduleBackgroundTask(message) {
|
|
|
19
19
|
void handleBackgroundMessage({
|
|
20
20
|
...message,
|
|
21
21
|
messageId: id,
|
|
22
|
-
});
|
|
22
|
+
}, logger);
|
|
23
23
|
}
|
|
24
|
-
async function handleBackgroundMessage(message) {
|
|
25
|
-
await handleMessage(message);
|
|
24
|
+
async function handleBackgroundMessage(message, logger) {
|
|
25
|
+
await handleMessage(message, logger);
|
|
26
26
|
promiseMap.get(message.messageId)?.resolve();
|
|
27
27
|
promiseMap.delete(message.messageId);
|
|
28
28
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/background-handler/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/background-handler/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAKzC,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAE9C;;;;GAIG;AACH,MAAM,CAAC,MAAM,UAAU,GAMnB,IAAI,GAAG,EAAE,CAAC;AAEd,MAAM,UAAU,sBAAsB,CAAC,OAAyC,EAAE,MAAsB;IACpG,MAAM,EAAE,GAAG,UAAU,EAAE,CAAC;IAExB,IAAI,cAA0B,CAAC;IAC/B,MAAM,OAAO,GAAG,IAAI,OAAO,CAAO,CAAC,GAAG,EAAE,EAAE;QACtC,cAAc,GAAG,GAAG,CAAC;IACzB,CAAC,CAAC,CAAC;IAEH,UAAU,CAAC,GAAG,CAAC,EAAE,EAAE;QACf,OAAO;QACP,OAAO,EAAE,cAAe;KAC3B,CAAC,CAAC;IAEH,KAAK,uBAAuB,CACxB;QACI,GAAG,OAAO;QACV,SAAS,EAAE,EAAE;KAChB,EACD,MAAM,CACT,CAAC;AACN,CAAC;AAED,KAAK,UAAU,uBAAuB,CAClC,OAAiE,EACjE,MAAsB;IAEtB,MAAM,aAAa,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;IAErC,UAAU,CAAC,GAAG,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,CAAC;IAC7C,UAAU,CAAC,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;AACzC,CAAC"}
|
package/cache-helpers.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cache-helpers.d.ts","sourceRoot":"","sources":["../src/cache-helpers.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,KAAK,OAAO,MAAM,gBAAgB,CAAC;AAO/C,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAIzD,wBAAsB,8BAA8B,CAAC,MAAM,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,0DAqGhG;AAED,wBAAsB,oCAAoC,CAAC,MAAM,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"cache-helpers.d.ts","sourceRoot":"","sources":["../src/cache-helpers.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,KAAK,OAAO,MAAM,gBAAgB,CAAC;AAO/C,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAIzD,wBAAsB,8BAA8B,CAAC,MAAM,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,0DAqGhG;AAED,wBAAsB,oCAAoC,CAAC,MAAM,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,4CAwJtG;AAED,wBAAsB,4BAA4B,CAAC,MAAM,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,2CAqH9F;AAGD,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAE9D,OAAO,EAAE,mBAAmB,EAAE,MAAM,uCAAuC,CAAC;AAC5E,OAAO,EAAE,kBAAkB,EAAE,MAAM,qCAAqC,CAAC"}
|
package/cache-helpers.js
CHANGED
|
@@ -8,7 +8,7 @@ import { RequestQueueFileSystemEntry } from './fs/request-queue/fs.js';
|
|
|
8
8
|
const uuidRegex = /[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}/i;
|
|
9
9
|
export async function findOrCacheDatasetByPossibleId(client, entryNameOrId) {
|
|
10
10
|
// First check memory cache
|
|
11
|
-
const found = client.
|
|
11
|
+
const found = client.datasetClientCache.find((store) => store.id === entryNameOrId || store.name?.toLowerCase() === entryNameOrId.toLowerCase());
|
|
12
12
|
if (found) {
|
|
13
13
|
return found;
|
|
14
14
|
}
|
|
@@ -84,12 +84,12 @@ export async function findOrCacheDatasetByPossibleId(client, entryNameOrId) {
|
|
|
84
84
|
// eslint-disable-next-line dot-notation
|
|
85
85
|
newClient['datasetEntries'].set(entryId, entry);
|
|
86
86
|
}
|
|
87
|
-
client.
|
|
87
|
+
client.datasetClientCache.push(newClient);
|
|
88
88
|
return newClient;
|
|
89
89
|
}
|
|
90
90
|
export async function findOrCacheKeyValueStoreByPossibleId(client, entryNameOrId) {
|
|
91
91
|
// First check memory cache
|
|
92
|
-
const found = client.
|
|
92
|
+
const found = client.keyValueStoreCache.find((store) => store.id === entryNameOrId || store.name?.toLowerCase() === entryNameOrId.toLowerCase());
|
|
93
93
|
if (found) {
|
|
94
94
|
return found;
|
|
95
95
|
}
|
|
@@ -151,7 +151,7 @@ export async function findOrCacheKeyValueStoreByPossibleId(client, entryNameOrId
|
|
|
151
151
|
json5.parse(stringifiedJson);
|
|
152
152
|
}
|
|
153
153
|
catch {
|
|
154
|
-
|
|
154
|
+
client.logger?.warning(`Key-value entry "${entry.name}" for store ${entryNameOrId} has invalid JSON content and will be ignored from the store.`);
|
|
155
155
|
continue;
|
|
156
156
|
}
|
|
157
157
|
}
|
|
@@ -194,6 +194,7 @@ export async function findOrCacheKeyValueStoreByPossibleId(client, entryNameOrId
|
|
|
194
194
|
persistStorage: true,
|
|
195
195
|
storeDirectory: keyValueStoreDir,
|
|
196
196
|
writeMetadata: hasSeenMetadataForEntry,
|
|
197
|
+
logger: client.logger,
|
|
197
198
|
});
|
|
198
199
|
// eslint-disable-next-line dot-notation
|
|
199
200
|
entry['rawRecord'] = { ...record };
|
|
@@ -204,12 +205,12 @@ export async function findOrCacheKeyValueStoreByPossibleId(client, entryNameOrId
|
|
|
204
205
|
// eslint-disable-next-line dot-notation
|
|
205
206
|
newClient['keyValueEntries'].set(key, entry);
|
|
206
207
|
}
|
|
207
|
-
client.
|
|
208
|
+
client.keyValueStoreCache.push(newClient);
|
|
208
209
|
return newClient;
|
|
209
210
|
}
|
|
210
211
|
export async function findRequestQueueByPossibleId(client, entryNameOrId) {
|
|
211
212
|
// First check memory cache
|
|
212
|
-
const found = client.
|
|
213
|
+
const found = client.requestQueueCache.find((store) => store.id === entryNameOrId || store.name?.toLowerCase() === entryNameOrId.toLowerCase());
|
|
213
214
|
if (found) {
|
|
214
215
|
return found;
|
|
215
216
|
}
|
|
@@ -264,7 +265,7 @@ export async function findRequestQueueByPossibleId(client, entryNameOrId) {
|
|
|
264
265
|
entries.add(entryName);
|
|
265
266
|
}
|
|
266
267
|
catch {
|
|
267
|
-
|
|
268
|
+
client.logger?.warning(`Request queue entry "${entry.name}" for store ${entryNameOrId} has invalid JSON content and will be ignored from the store.`);
|
|
268
269
|
}
|
|
269
270
|
}
|
|
270
271
|
}
|
|
@@ -302,12 +303,11 @@ export async function findRequestQueueByPossibleId(client, entryNameOrId) {
|
|
|
302
303
|
// eslint-disable-next-line dot-notation
|
|
303
304
|
newClient['requests'].set(requestId, entry);
|
|
304
305
|
}
|
|
305
|
-
client.
|
|
306
|
+
client.requestQueueCache.push(newClient);
|
|
306
307
|
return newClient;
|
|
307
308
|
}
|
|
308
309
|
/* eslint-disable import/first -- Fixing circulars */
|
|
309
310
|
import { DatasetClient } from './resource-clients/dataset.js';
|
|
310
311
|
import { KeyValueStoreClient } from './resource-clients/key-value-store.js';
|
|
311
312
|
import { RequestQueueClient } from './resource-clients/request-queue.js';
|
|
312
|
-
import { memoryStorageLog } from './utils.js';
|
|
313
313
|
//# sourceMappingURL=cache-helpers.js.map
|
package/cache-helpers.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cache-helpers.js","sourceRoot":"","sources":["../src/cache-helpers.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"cache-helpers.js","sourceRoot":"","sources":["../src/cache-helpers.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,6 +4,7 @@ import type { CreateStorageImplementationOptions } from './index.js';
|
|
|
4
4
|
export declare class KeyValueFileSystemEntry implements StorageImplementation<InternalKeyRecord> {
|
|
5
5
|
private storeDirectory;
|
|
6
6
|
private writeMetadata;
|
|
7
|
+
private logger?;
|
|
7
8
|
private filePath;
|
|
8
9
|
private fileMetadataPath;
|
|
9
10
|
private rawRecord;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fs.d.ts","sourceRoot":"","sources":["../../../src/fs/key-value-store/fs.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"fs.d.ts","sourceRoot":"","sources":["../../../src/fs/key-value-store/fs.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,2CAA2C,CAAC;AACnF,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,cAAc,CAAC;AAC1D,OAAO,KAAK,EAAE,kCAAkC,EAAE,MAAM,YAAY,CAAC;AAErE,qBAAa,uBAAwB,YAAW,qBAAqB,CAAC,iBAAiB,CAAC;IACpF,OAAO,CAAC,cAAc,CAAS;IAC/B,OAAO,CAAC,aAAa,CAAU;IAC/B,OAAO,CAAC,MAAM,CAAC,CAAgB;IAE/B,OAAO,CAAC,QAAQ,CAAU;IAC1B,OAAO,CAAC,gBAAgB,CAAU;IAClC,OAAO,CAAC,SAAS,CAAoC;IACrD,OAAO,CAAC,OAAO,CAAoB;gBAEvB,OAAO,EAAE,kCAAkC;IAMjD,GAAG,IAAI,OAAO,CAAC,iBAAiB,CAAC;IAoCjC,MAAM,CAAC,IAAI,EAAE,iBAAiB;IA2B9B,MAAM;CAMf"}
|
package/fs/key-value-store/fs.js
CHANGED
|
@@ -5,10 +5,10 @@ import { AsyncQueue } from '@sapphire/async-queue';
|
|
|
5
5
|
import { ensureDir } from 'fs-extra/esm';
|
|
6
6
|
import mime from 'mime-types';
|
|
7
7
|
import { lockAndWrite } from '../../background-handler/fs-utils.js';
|
|
8
|
-
import { memoryStorageLog } from '../../utils.js';
|
|
9
8
|
export class KeyValueFileSystemEntry {
|
|
10
9
|
storeDirectory;
|
|
11
10
|
writeMetadata;
|
|
11
|
+
logger;
|
|
12
12
|
filePath;
|
|
13
13
|
fileMetadataPath;
|
|
14
14
|
rawRecord;
|
|
@@ -16,6 +16,7 @@ export class KeyValueFileSystemEntry {
|
|
|
16
16
|
constructor(options) {
|
|
17
17
|
this.storeDirectory = options.storeDirectory;
|
|
18
18
|
this.writeMetadata = options.writeMetadata;
|
|
19
|
+
this.logger = options.logger;
|
|
19
20
|
}
|
|
20
21
|
async get() {
|
|
21
22
|
await this.fsQueue.wait();
|
|
@@ -25,13 +26,15 @@ export class KeyValueFileSystemEntry {
|
|
|
25
26
|
}
|
|
26
27
|
catch {
|
|
27
28
|
try {
|
|
29
|
+
const noExtFilePath = resolve(this.storeDirectory, this.rawRecord.key);
|
|
28
30
|
// Try without extension
|
|
29
|
-
file = await readFile(
|
|
30
|
-
|
|
31
|
+
file = await readFile(noExtFilePath);
|
|
32
|
+
this.logger?.warning([
|
|
31
33
|
`Key-value entry "${this.rawRecord.key}" for store ${basename(this.storeDirectory)} does not have a file extension, assuming it as text.`,
|
|
32
34
|
'If you want to have correct interpretation of the file, you should add a file extension to the entry.',
|
|
33
35
|
].join('\n'));
|
|
34
36
|
file = file.toString('utf-8');
|
|
37
|
+
this.filePath = noExtFilePath;
|
|
35
38
|
}
|
|
36
39
|
catch {
|
|
37
40
|
// This is impossible to happen, but just in case
|
|
@@ -44,6 +47,7 @@ export class KeyValueFileSystemEntry {
|
|
|
44
47
|
return {
|
|
45
48
|
...this.rawRecord,
|
|
46
49
|
value: file,
|
|
50
|
+
filePath: this.filePath,
|
|
47
51
|
};
|
|
48
52
|
}
|
|
49
53
|
async update(data) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fs.js","sourceRoot":"","sources":["../../../src/fs/key-value-store/fs.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,kBAAkB,CAAC;AAChD,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAC7C,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"fs.js","sourceRoot":"","sources":["../../../src/fs/key-value-store/fs.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import type { CrawleeLogger } from '@crawlee/types';
|
|
1
2
|
import type { InternalKeyRecord } from '../../resource-clients/key-value-store.js';
|
|
2
3
|
import type { StorageImplementation } from '../common.js';
|
|
3
4
|
export declare function createKeyValueStorageImplementation(options: CreateStorageImplementationOptions): StorageImplementation<InternalKeyRecord>;
|
|
@@ -5,5 +6,6 @@ export interface CreateStorageImplementationOptions {
|
|
|
5
6
|
persistStorage: boolean;
|
|
6
7
|
storeDirectory: string;
|
|
7
8
|
writeMetadata: boolean;
|
|
9
|
+
logger?: CrawleeLogger;
|
|
8
10
|
}
|
|
9
11
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/fs/key-value-store/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,2CAA2C,CAAC;AACnF,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,cAAc,CAAC;AAI1D,wBAAgB,mCAAmC,CAC/C,OAAO,EAAE,kCAAkC,GAC5C,qBAAqB,CAAC,iBAAiB,CAAC,CAM1C;AAED,MAAM,WAAW,kCAAkC;IAC/C,cAAc,EAAE,OAAO,CAAC;IACxB,cAAc,EAAE,MAAM,CAAC;IACvB,aAAa,EAAE,OAAO,CAAC;CAC1B"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/fs/key-value-store/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAEpD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,2CAA2C,CAAC;AACnF,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,cAAc,CAAC;AAI1D,wBAAgB,mCAAmC,CAC/C,OAAO,EAAE,kCAAkC,GAC5C,qBAAqB,CAAC,iBAAiB,CAAC,CAM1C;AAED,MAAM,WAAW,kCAAkC;IAC/C,cAAc,EAAE,OAAO,CAAC;IACxB,cAAc,EAAE,MAAM,CAAC;IACvB,aAAa,EAAE,OAAO,CAAC;IACvB,MAAM,CAAC,EAAE,aAAa,CAAC;CAC1B"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/fs/key-value-store/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/fs/key-value-store/index.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,uBAAuB,EAAE,MAAM,SAAS,CAAC;AAClD,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAElD,MAAM,UAAU,mCAAmC,CAC/C,OAA2C;IAE3C,IAAI,OAAO,CAAC,cAAc,EAAE,CAAC;QACzB,OAAO,IAAI,uBAAuB,CAAC,OAAO,CAAC,CAAC;IAChD,CAAC;IAED,OAAO,IAAI,mBAAmB,EAAE,CAAC;AACrC,CAAC"}
|
package/memory-storage.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type * as storage from '@crawlee/types';
|
|
2
|
-
import type {
|
|
2
|
+
import type { CrawleeLogger } from '@crawlee/types';
|
|
3
3
|
import { DatasetClient } from './resource-clients/dataset.js';
|
|
4
4
|
import { KeyValueStoreClient } from './resource-clients/key-value-store.js';
|
|
5
5
|
import { RequestQueueClient } from './resource-clients/request-queue.js';
|
|
@@ -21,6 +21,10 @@ export interface MemoryStorageOptions {
|
|
|
21
21
|
* @default true
|
|
22
22
|
*/
|
|
23
23
|
persistStorage?: boolean;
|
|
24
|
+
/**
|
|
25
|
+
* Optional logger for MemoryStorage warnings.
|
|
26
|
+
*/
|
|
27
|
+
logger?: CrawleeLogger;
|
|
24
28
|
}
|
|
25
29
|
export declare class MemoryStorage implements storage.StorageClient {
|
|
26
30
|
readonly localDataDirectory: string;
|
|
@@ -29,16 +33,15 @@ export declare class MemoryStorage implements storage.StorageClient {
|
|
|
29
33
|
readonly requestQueuesDirectory: string;
|
|
30
34
|
readonly writeMetadata: boolean;
|
|
31
35
|
readonly persistStorage: boolean;
|
|
32
|
-
readonly
|
|
33
|
-
readonly
|
|
34
|
-
readonly
|
|
36
|
+
readonly logger?: CrawleeLogger;
|
|
37
|
+
readonly keyValueStoreCache: KeyValueStoreClient[];
|
|
38
|
+
readonly datasetClientCache: DatasetClient[];
|
|
39
|
+
readonly requestQueueCache: RequestQueueClient[];
|
|
35
40
|
constructor(options?: MemoryStorageOptions);
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
requestQueues(): storage.RequestQueueCollectionClient;
|
|
41
|
-
requestQueue(id: string, options?: storage.RequestQueueOptions): storage.RequestQueueClient;
|
|
41
|
+
createDatasetClient(options?: storage.CreateDatasetClientOptions): Promise<storage.DatasetClient>;
|
|
42
|
+
createKeyValueStoreClient(options?: storage.CreateKeyValueStoreClientOptions): Promise<storage.KeyValueStoreClient>;
|
|
43
|
+
createRequestQueueClient(options?: storage.CreateRequestQueueClientOptions): Promise<storage.RequestQueueClient>;
|
|
44
|
+
storageExists(id: string, type: 'Dataset' | 'KeyValueStore' | 'RequestQueue'): Promise<boolean>;
|
|
42
45
|
setStatusMessage(message: string, options?: storage.SetStatusMessageOptions): Promise<void>;
|
|
43
46
|
/**
|
|
44
47
|
* Cleans up the default storage directories before the run starts:
|
package/memory-storage.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"memory-storage.d.ts","sourceRoot":"","sources":["../src/memory-storage.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,KAAK,OAAO,MAAM,gBAAgB,CAAC;AAC/C,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"memory-storage.d.ts","sourceRoot":"","sources":["../src/memory-storage.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,KAAK,OAAO,MAAM,gBAAgB,CAAC;AAC/C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAUpD,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAC9D,OAAO,EAAE,mBAAmB,EAAE,MAAM,uCAAuC,CAAC;AAC5E,OAAO,EAAE,kBAAkB,EAAE,MAAM,qCAAqC,CAAC;AAEzE,MAAM,WAAW,oBAAoB;IACjC;;;OAGG;IACH,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAE5B;;;OAGG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;IAExB;;;;;OAKG;IACH,cAAc,CAAC,EAAE,OAAO,CAAC;IAEzB;;OAEG;IACH,MAAM,CAAC,EAAE,aAAa,CAAC;CAC1B;AAED,qBAAa,aAAc,YAAW,OAAO,CAAC,aAAa;IACvD,QAAQ,CAAC,kBAAkB,EAAE,MAAM,CAAC;IACpC,QAAQ,CAAC,iBAAiB,EAAE,MAAM,CAAC;IACnC,QAAQ,CAAC,uBAAuB,EAAE,MAAM,CAAC;IACzC,QAAQ,CAAC,sBAAsB,EAAE,MAAM,CAAC;IACxC,QAAQ,CAAC,aAAa,EAAE,OAAO,CAAC;IAChC,QAAQ,CAAC,cAAc,EAAE,OAAO,CAAC;IACjC,QAAQ,CAAC,MAAM,CAAC,EAAE,aAAa,CAAC;IAEhC,QAAQ,CAAC,kBAAkB,EAAE,mBAAmB,EAAE,CAAM;IACxD,QAAQ,CAAC,kBAAkB,EAAE,aAAa,EAAE,CAAM;IAClD,QAAQ,CAAC,iBAAiB,EAAE,kBAAkB,EAAE,CAAM;gBAE1C,OAAO,GAAE,oBAAyB;IAoCxC,mBAAmB,CAAC,OAAO,GAAE,OAAO,CAAC,0BAA+B,GAAG,OAAO,CAAC,OAAO,CAAC,aAAa,CAAC;IAiCrG,yBAAyB,CAC3B,OAAO,GAAE,OAAO,CAAC,gCAAqC,GACvD,OAAO,CAAC,OAAO,CAAC,mBAAmB,CAAC;IAqCjC,wBAAwB,CAC1B,OAAO,GAAE,OAAO,CAAC,+BAAoC,GACtD,OAAO,CAAC,OAAO,CAAC,kBAAkB,CAAC;IAqChC,aAAa,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,GAAG,eAAe,GAAG,cAAc,GAAG,OAAO,CAAC,OAAO,CAAC;IAmC/F,gBAAgB,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,GAAE,OAAO,CAAC,uBAA4B,GAAG,OAAO,CAAC,IAAI,CAAC;IASrG;;;;;OAKG;IACG,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IA8C5B;;OAEG;IACG,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;IAM/B,OAAO,CAAC,0BAA0B;YA+CpB,gBAAgB;CA0CjC"}
|
package/memory-storage.js
CHANGED
|
@@ -1,15 +1,13 @@
|
|
|
1
1
|
/* eslint-disable import/no-duplicates */
|
|
2
|
-
import { readdir, rm } from 'node:fs/promises';
|
|
2
|
+
import { access, readdir, rm } from 'node:fs/promises';
|
|
3
3
|
import { resolve } from 'node:path';
|
|
4
4
|
import { s } from '@sapphire/shapeshift';
|
|
5
5
|
import { ensureDirSync, move, moveSync, pathExistsSync } from 'fs-extra/esm';
|
|
6
|
-
import { promiseMap } from './background-handler/index.js';
|
|
6
|
+
import { promiseMap, scheduleBackgroundTask } from './background-handler/index.js';
|
|
7
|
+
import { findOrCacheDatasetByPossibleId, findOrCacheKeyValueStoreByPossibleId, findRequestQueueByPossibleId, } from './cache-helpers.js';
|
|
7
8
|
import { DatasetClient } from './resource-clients/dataset.js';
|
|
8
|
-
import { DatasetCollectionClient } from './resource-clients/dataset-collection.js';
|
|
9
9
|
import { KeyValueStoreClient } from './resource-clients/key-value-store.js';
|
|
10
|
-
import { KeyValueStoreCollectionClient } from './resource-clients/key-value-store-collection.js';
|
|
11
10
|
import { RequestQueueClient } from './resource-clients/request-queue.js';
|
|
12
|
-
import { RequestQueueCollectionClient } from './resource-clients/request-queue-collection.js';
|
|
13
11
|
export class MemoryStorage {
|
|
14
12
|
localDataDirectory;
|
|
15
13
|
datasetsDirectory;
|
|
@@ -17,15 +15,17 @@ export class MemoryStorage {
|
|
|
17
15
|
requestQueuesDirectory;
|
|
18
16
|
writeMetadata;
|
|
19
17
|
persistStorage;
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
18
|
+
logger;
|
|
19
|
+
keyValueStoreCache = [];
|
|
20
|
+
datasetClientCache = [];
|
|
21
|
+
requestQueueCache = [];
|
|
23
22
|
constructor(options = {}) {
|
|
24
23
|
s.object({
|
|
25
24
|
localDataDirectory: s.string().optional(),
|
|
26
25
|
writeMetadata: s.boolean().optional(),
|
|
27
26
|
persistStorage: s.boolean().optional(),
|
|
28
27
|
}).parse(options);
|
|
28
|
+
this.logger = options.logger;
|
|
29
29
|
// v3.0.0 used `crawlee_storage` as the default, we changed this in v3.0.1 to just `storage`,
|
|
30
30
|
// this function handles it without making BC breaks - it respects existing `crawlee_storage`
|
|
31
31
|
// directories, and uses the `storage` only if it's not there.
|
|
@@ -50,44 +50,117 @@ export class MemoryStorage {
|
|
|
50
50
|
? !['false', '0', ''].includes(process.env.CRAWLEE_PERSIST_STORAGE)
|
|
51
51
|
: true);
|
|
52
52
|
}
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
53
|
+
async createDatasetClient(options = {}) {
|
|
54
|
+
// In MemoryStorage, both id and name resolve to the same directory name.
|
|
55
|
+
const name = options.name ?? options.id;
|
|
56
|
+
if (name) {
|
|
57
|
+
const found = await findOrCacheDatasetByPossibleId(this, name);
|
|
58
|
+
if (found) {
|
|
59
|
+
return found;
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
const newStore = new DatasetClient({ name, baseStorageDirectory: this.datasetsDirectory, client: this });
|
|
63
|
+
this.datasetClientCache.push(newStore);
|
|
64
|
+
// Schedule the worker to write to the disk
|
|
65
|
+
const datasetInfo = newStore.toDatasetInfo();
|
|
66
|
+
scheduleBackgroundTask({
|
|
67
|
+
action: 'update-metadata',
|
|
68
|
+
entityType: 'datasets',
|
|
69
|
+
entityDirectory: newStore.datasetDirectory,
|
|
70
|
+
id: datasetInfo.name ?? datasetInfo.id,
|
|
71
|
+
data: datasetInfo,
|
|
72
|
+
writeMetadata: this.writeMetadata,
|
|
73
|
+
persistStorage: this.persistStorage,
|
|
74
|
+
}, this.logger);
|
|
75
|
+
return newStore;
|
|
62
76
|
}
|
|
63
|
-
|
|
64
|
-
|
|
77
|
+
async createKeyValueStoreClient(options = {}) {
|
|
78
|
+
// In MemoryStorage, both id and name resolve to the same directory name.
|
|
79
|
+
const name = options.name ?? options.id;
|
|
80
|
+
if (name) {
|
|
81
|
+
const found = await findOrCacheKeyValueStoreByPossibleId(this, name);
|
|
82
|
+
if (found) {
|
|
83
|
+
return found;
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
const newStore = new KeyValueStoreClient({
|
|
87
|
+
name,
|
|
65
88
|
baseStorageDirectory: this.keyValueStoresDirectory,
|
|
66
89
|
client: this,
|
|
67
90
|
});
|
|
91
|
+
this.keyValueStoreCache.push(newStore);
|
|
92
|
+
// Schedule the worker to write to the disk
|
|
93
|
+
const kvStoreInfo = newStore.toKeyValueStoreInfo();
|
|
94
|
+
scheduleBackgroundTask({
|
|
95
|
+
action: 'update-metadata',
|
|
96
|
+
entityType: 'keyValueStores',
|
|
97
|
+
entityDirectory: newStore.keyValueStoreDirectory,
|
|
98
|
+
id: kvStoreInfo.name ?? kvStoreInfo.id,
|
|
99
|
+
data: kvStoreInfo,
|
|
100
|
+
writeMetadata: this.writeMetadata,
|
|
101
|
+
persistStorage: this.persistStorage,
|
|
102
|
+
}, this.logger);
|
|
103
|
+
return newStore;
|
|
68
104
|
}
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
105
|
+
async createRequestQueueClient(options = {}) {
|
|
106
|
+
// In MemoryStorage, both id and name resolve to the same directory name.
|
|
107
|
+
const name = options.name ?? options.id;
|
|
108
|
+
if (name) {
|
|
109
|
+
const found = await findRequestQueueByPossibleId(this, name);
|
|
110
|
+
if (found) {
|
|
111
|
+
return found;
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
const newStore = new RequestQueueClient({
|
|
115
|
+
name,
|
|
75
116
|
baseStorageDirectory: this.requestQueuesDirectory,
|
|
76
117
|
client: this,
|
|
77
118
|
});
|
|
119
|
+
this.requestQueueCache.push(newStore);
|
|
120
|
+
// Schedule the worker to write to the disk
|
|
121
|
+
const queueInfo = newStore.toRequestQueueInfo();
|
|
122
|
+
scheduleBackgroundTask({
|
|
123
|
+
action: 'update-metadata',
|
|
124
|
+
entityType: 'requestQueues',
|
|
125
|
+
entityDirectory: newStore.requestQueueDirectory,
|
|
126
|
+
id: queueInfo.name ?? queueInfo.id,
|
|
127
|
+
data: queueInfo,
|
|
128
|
+
writeMetadata: this.writeMetadata,
|
|
129
|
+
persistStorage: this.persistStorage,
|
|
130
|
+
}, this.logger);
|
|
131
|
+
return newStore;
|
|
78
132
|
}
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
133
|
+
async storageExists(id, type) {
|
|
134
|
+
let clients;
|
|
135
|
+
let baseDir;
|
|
136
|
+
switch (type) {
|
|
137
|
+
case 'Dataset':
|
|
138
|
+
clients = this.datasetClientCache;
|
|
139
|
+
baseDir = this.datasetsDirectory;
|
|
140
|
+
break;
|
|
141
|
+
case 'KeyValueStore':
|
|
142
|
+
clients = this.keyValueStoreCache;
|
|
143
|
+
baseDir = this.keyValueStoresDirectory;
|
|
144
|
+
break;
|
|
145
|
+
case 'RequestQueue':
|
|
146
|
+
clients = this.requestQueueCache;
|
|
147
|
+
baseDir = this.requestQueuesDirectory;
|
|
148
|
+
break;
|
|
149
|
+
default:
|
|
150
|
+
return false;
|
|
151
|
+
}
|
|
152
|
+
// Check in-memory cache first
|
|
153
|
+
if (clients.some((store) => store.id === id)) {
|
|
154
|
+
return true;
|
|
155
|
+
}
|
|
156
|
+
// Check if a directory with that ID exists on disk
|
|
157
|
+
try {
|
|
158
|
+
await access(resolve(baseDir, id));
|
|
159
|
+
return true;
|
|
160
|
+
}
|
|
161
|
+
catch {
|
|
162
|
+
return false;
|
|
163
|
+
}
|
|
91
164
|
}
|
|
92
165
|
async setStatusMessage(message, options = {}) {
|
|
93
166
|
s.string().parse(message);
|