@crawlee/memory-storage 4.0.0-beta.65 → 4.0.0-beta.67

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.
Files changed (80) hide show
  1. package/consts.d.ts +0 -12
  2. package/consts.d.ts.map +1 -1
  3. package/consts.js +0 -13
  4. package/consts.js.map +1 -1
  5. package/memory-storage.d.ts +16 -36
  6. package/memory-storage.d.ts.map +1 -1
  7. package/memory-storage.js +59 -239
  8. package/memory-storage.js.map +1 -1
  9. package/package.json +3 -6
  10. package/resource-clients/common/base-client.d.ts +0 -3
  11. package/resource-clients/common/base-client.d.ts.map +1 -1
  12. package/resource-clients/common/base-client.js +0 -6
  13. package/resource-clients/common/base-client.js.map +1 -1
  14. package/resource-clients/dataset.d.ts +9 -11
  15. package/resource-clients/dataset.d.ts.map +1 -1
  16. package/resource-clients/dataset.js +8 -42
  17. package/resource-clients/dataset.js.map +1 -1
  18. package/resource-clients/key-value-store.d.ts +18 -15
  19. package/resource-clients/key-value-store.d.ts.map +1 -1
  20. package/resource-clients/key-value-store.js +31 -47
  21. package/resource-clients/key-value-store.js.map +1 -1
  22. package/resource-clients/request-queue.d.ts +50 -20
  23. package/resource-clients/request-queue.d.ts.map +1 -1
  24. package/resource-clients/request-queue.js +251 -281
  25. package/resource-clients/request-queue.js.map +1 -1
  26. package/utils.d.ts +0 -14
  27. package/utils.d.ts.map +1 -1
  28. package/utils.js.map +1 -1
  29. package/background-handler/fs-utils.d.ts +0 -6
  30. package/background-handler/fs-utils.d.ts.map +0 -1
  31. package/background-handler/fs-utils.js +0 -63
  32. package/background-handler/fs-utils.js.map +0 -1
  33. package/background-handler/index.d.ts +0 -13
  34. package/background-handler/index.d.ts.map +0 -1
  35. package/background-handler/index.js +0 -29
  36. package/background-handler/index.js.map +0 -1
  37. package/cache-helpers.d.ts +0 -9
  38. package/cache-helpers.d.ts.map +0 -1
  39. package/cache-helpers.js +0 -319
  40. package/cache-helpers.js.map +0 -1
  41. package/fs/common.d.ts +0 -6
  42. package/fs/common.d.ts.map +0 -1
  43. package/fs/common.js +0 -2
  44. package/fs/common.js.map +0 -1
  45. package/fs/dataset/fs.d.ts +0 -11
  46. package/fs/dataset/fs.d.ts.map +0 -1
  47. package/fs/dataset/fs.js +0 -37
  48. package/fs/dataset/fs.js.map +0 -1
  49. package/fs/dataset/index.d.ts +0 -10
  50. package/fs/dataset/index.d.ts.map +0 -1
  51. package/fs/dataset/index.js +0 -9
  52. package/fs/dataset/index.js.map +0 -1
  53. package/fs/dataset/memory.d.ts +0 -8
  54. package/fs/dataset/memory.d.ts.map +0 -1
  55. package/fs/dataset/memory.js +0 -13
  56. package/fs/dataset/memory.js.map +0 -1
  57. package/fs/key-value-store/fs.d.ts +0 -17
  58. package/fs/key-value-store/fs.d.ts.map +0 -1
  59. package/fs/key-value-store/fs.js +0 -83
  60. package/fs/key-value-store/fs.js.map +0 -1
  61. package/fs/key-value-store/index.d.ts +0 -11
  62. package/fs/key-value-store/index.d.ts.map +0 -1
  63. package/fs/key-value-store/index.js +0 -9
  64. package/fs/key-value-store/index.js.map +0 -1
  65. package/fs/key-value-store/memory.d.ts +0 -9
  66. package/fs/key-value-store/memory.d.ts.map +0 -1
  67. package/fs/key-value-store/memory.js +0 -13
  68. package/fs/key-value-store/memory.js.map +0 -1
  69. package/fs/request-queue/fs.d.ts +0 -21
  70. package/fs/request-queue/fs.d.ts.map +0 -1
  71. package/fs/request-queue/fs.js +0 -72
  72. package/fs/request-queue/fs.js.map +0 -1
  73. package/fs/request-queue/index.d.ts +0 -9
  74. package/fs/request-queue/index.d.ts.map +0 -1
  75. package/fs/request-queue/index.js +0 -9
  76. package/fs/request-queue/index.js.map +0 -1
  77. package/fs/request-queue/memory.d.ts +0 -10
  78. package/fs/request-queue/memory.d.ts.map +0 -1
  79. package/fs/request-queue/memory.js +0 -15
  80. package/fs/request-queue/memory.js.map +0 -1
package/consts.d.ts CHANGED
@@ -2,16 +2,4 @@
2
2
  * Length of id property of a Request instance in characters.
3
3
  */
4
4
  export declare const REQUEST_ID_LENGTH = 15;
5
- /**
6
- * Types of all emulated storages (currently used for warning messages only).
7
- */
8
- export declare enum StorageTypes {
9
- RequestQueue = "Request queue",
10
- KeyValueStore = "Key-value store",
11
- Dataset = "Dataset"
12
- }
13
- /**
14
- * Except in dataset items, the default limit for API results is 1000.
15
- */
16
- export declare const DEFAULT_API_PARAM_LIMIT = 1000;
17
5
  //# sourceMappingURL=consts.d.ts.map
package/consts.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"consts.d.ts","sourceRoot":"","sources":["../src/consts.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,eAAO,MAAM,iBAAiB,KAAK,CAAC;AAEpC;;GAEG;AACH,oBAAY,YAAY;IACpB,YAAY,kBAAkB;IAC9B,aAAa,oBAAoB;IACjC,OAAO,YAAY;CACtB;AAED;;GAEG;AACH,eAAO,MAAM,uBAAuB,OAAO,CAAC"}
1
+ {"version":3,"file":"consts.d.ts","sourceRoot":"","sources":["../src/consts.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,eAAO,MAAM,iBAAiB,KAAK,CAAC"}
package/consts.js CHANGED
@@ -2,17 +2,4 @@
2
2
  * Length of id property of a Request instance in characters.
3
3
  */
4
4
  export const REQUEST_ID_LENGTH = 15;
5
- /**
6
- * Types of all emulated storages (currently used for warning messages only).
7
- */
8
- export var StorageTypes;
9
- (function (StorageTypes) {
10
- StorageTypes["RequestQueue"] = "Request queue";
11
- StorageTypes["KeyValueStore"] = "Key-value store";
12
- StorageTypes["Dataset"] = "Dataset";
13
- })(StorageTypes || (StorageTypes = {}));
14
- /**
15
- * Except in dataset items, the default limit for API results is 1000.
16
- */
17
- export const DEFAULT_API_PARAM_LIMIT = 1000;
18
5
  //# sourceMappingURL=consts.js.map
package/consts.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"consts.js","sourceRoot":"","sources":["../src/consts.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG,EAAE,CAAC;AAEpC;;GAEG;AACH,MAAM,CAAN,IAAY,YAIX;AAJD,WAAY,YAAY;IACpB,8CAA8B,CAAA;IAC9B,iDAAiC,CAAA;IACjC,mCAAmB,CAAA;AACvB,CAAC,EAJW,YAAY,KAAZ,YAAY,QAIvB;AAED;;GAEG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAG,IAAI,CAAC"}
1
+ {"version":3,"file":"consts.js","sourceRoot":"","sources":["../src/consts.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG,EAAE,CAAC"}
@@ -5,44 +5,24 @@ import { KeyValueStoreClient } from './resource-clients/key-value-store.js';
5
5
  import { RequestQueueClient } from './resource-clients/request-queue.js';
6
6
  export interface MemoryStorageOptions {
7
7
  /**
8
- * Path to directory where the data will also be saved.
9
- * @default process.env.CRAWLEE_STORAGE_DIR ?? './storage'
10
- */
11
- localDataDirectory?: string;
12
- /**
13
- * Whether to also write optional metadata files when storing to disk.
14
- * @default process.env.DEBUG?.includes('*') ?? process.env.DEBUG?.includes('crawlee:memory-storage') ?? false
15
- */
16
- writeMetadata?: boolean;
17
- /**
18
- * Whether the memory storage should also write its stored content to the disk.
19
- *
20
- * You can also disable this by setting the `CRAWLEE_PERSIST_STORAGE` environment variable to `false`.
21
- * @default true
22
- */
23
- persistStorage?: boolean;
24
- /**
25
- * Optional logger for MemoryStorage warnings.
8
+ * Optional logger for MemoryStorageClient warnings.
26
9
  */
27
10
  logger?: CrawleeLogger;
28
11
  }
29
- export declare class MemoryStorage implements storage.StorageClient {
30
- readonly localDataDirectory: string;
31
- readonly datasetsDirectory: string;
32
- readonly keyValueStoresDirectory: string;
33
- readonly requestQueuesDirectory: string;
34
- readonly writeMetadata: boolean;
35
- readonly persistStorage: boolean;
12
+ export declare class MemoryStorageClient implements storage.StorageClient {
36
13
  readonly logger?: CrawleeLogger;
14
+ /**
15
+ * Unique per-instance cache partition key. Mirrors the way `FileSystemStorageClient` partitions its
16
+ * cache by storage directory: two distinct `MemoryStorageClient` instances must not share cached clients.
17
+ */
18
+ private readonly instanceCacheKey;
37
19
  readonly keyValueStoreCache: KeyValueStoreClient[];
38
20
  readonly datasetClientCache: DatasetClient[];
39
21
  readonly requestQueueCache: RequestQueueClient[];
40
22
  constructor(options?: MemoryStorageOptions);
41
23
  /**
42
- * Return a cache key that includes the resolved storage directory, so that
43
- * two `MemoryStorage` instances pointing at different directories get separate
44
- * cache partitions. Mirrors crawlee-python's `FileSystemStorageClient` which
45
- * includes `configuration.storage_dir` in its cache key.
24
+ * Return a per-instance unique cache key so that distinct `MemoryStorageClient` instances get separate
25
+ * cache partitions in the storage-client cache.
46
26
  */
47
27
  getStorageClientCacheKey(): string;
48
28
  private static resolveStorageKey;
@@ -52,17 +32,17 @@ export declare class MemoryStorage implements storage.StorageClient {
52
32
  storageExists(id: string, type: 'Dataset' | 'KeyValueStore' | 'RequestQueue'): Promise<boolean>;
53
33
  setStatusMessage(message: string, options?: storage.SetStatusMessageOptions): Promise<void>;
54
34
  /**
55
- * Cleans up the default storage directories before the run starts:
56
- * - local directory containing the default dataset;
57
- * - all records from the default key-value store in the local directory, except for the "INPUT" key;
58
- * - local directory containing the default request queue.
35
+ * Cleans up the default storages before the run starts. For the in-memory storage this simply
36
+ * resets the in-memory state of the cached default dataset, key-value store and request queue.
37
+ *
38
+ * As with `FileSystemStorageClient`, the run's input (the `INPUT` key in the default key-value
39
+ * store) is preserved — only the rest of the default storages is cleared.
59
40
  */
60
41
  purge(): Promise<void>;
61
42
  /**
62
- * This method should be called at the end of the process, to ensure all data is saved.
43
+ * This method should be called at the end of the process. The in-memory storage holds no resources
44
+ * that outlive the process (no file handles, no cross-process locks), so there is nothing to do.
63
45
  */
64
46
  teardown(): Promise<void>;
65
- private handleDefaultKeyValueStore;
66
- private batchRemoveFiles;
67
47
  }
68
48
  //# sourceMappingURL=memory-storage.d.ts.map
@@ -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,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;IAoC9C;;;;;OAKG;IACH,wBAAwB,IAAI,MAAM;IAIlC,OAAO,CAAC,MAAM,CAAC,iBAAiB;IAW1B,mBAAmB,CAAC,OAAO,GAAE,OAAO,CAAC,0BAA+B,GAAG,OAAO,CAAC,OAAO,CAAC,aAAa,CAAC;IAqCrG,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;IA+C/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;IAsD5B;;OAEG;IACG,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;IAM/B,OAAO,CAAC,0BAA0B;YA+CpB,gBAAgB;CA0CjC"}
1
+ {"version":3,"file":"memory-storage.d.ts","sourceRoot":"","sources":["../src/memory-storage.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,OAAO,MAAM,gBAAgB,CAAC;AAC/C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAGpD,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;;OAEG;IACH,MAAM,CAAC,EAAE,aAAa,CAAC;CAC1B;AAED,qBAAa,mBAAoB,YAAW,OAAO,CAAC,aAAa;IAC7D,QAAQ,CAAC,MAAM,CAAC,EAAE,aAAa,CAAC;IAEhC;;;OAGG;IACH,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAyC;IAE1E,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;IAI9C;;;OAGG;IACH,wBAAwB,IAAI,MAAM;IAIlC,OAAO,CAAC,MAAM,CAAC,iBAAiB;IAW1B,mBAAmB,CAAC,OAAO,GAAE,OAAO,CAAC,0BAA+B,GAAG,OAAO,CAAC,OAAO,CAAC,aAAa,CAAC;IAyBrG,yBAAyB,CAC3B,OAAO,GAAE,OAAO,CAAC,gCAAqC,GACvD,OAAO,CAAC,OAAO,CAAC,mBAAmB,CAAC;IAyBjC,wBAAwB,CAC1B,OAAO,GAAE,OAAO,CAAC,+BAAoC,GACtD,OAAO,CAAC,OAAO,CAAC,kBAAkB,CAAC;IAyBhC,aAAa,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,GAAG,eAAe,GAAG,cAAc,GAAG,OAAO,CAAC,OAAO,CAAC;IAqB/F,gBAAgB,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,GAAE,OAAO,CAAC,uBAA4B,GAAG,OAAO,CAAC,IAAI,CAAC;IASrG;;;;;;OAMG;IACG,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAyB5B;;;OAGG;IACG,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;CAGlC"}
package/memory-storage.js CHANGED
@@ -1,196 +1,106 @@
1
- /* eslint-disable import/no-duplicates */
2
- import { access, readdir, rm } from 'node:fs/promises';
3
- import { resolve } from 'node:path';
1
+ import { randomUUID } from 'node:crypto';
4
2
  import { s } from '@sapphire/shapeshift';
5
- import { ensureDirSync, move, moveSync, pathExistsSync } from 'fs-extra/esm';
6
- import { promiseMap, scheduleBackgroundTask } from './background-handler/index.js';
7
- import { findOrCacheDatasetByPossibleId, findOrCacheKeyValueStoreByPossibleId, findRequestQueueByPossibleId, } from './cache-helpers.js';
8
3
  import { DatasetClient } from './resource-clients/dataset.js';
9
4
  import { KeyValueStoreClient } from './resource-clients/key-value-store.js';
10
5
  import { RequestQueueClient } from './resource-clients/request-queue.js';
11
- export class MemoryStorage {
12
- localDataDirectory;
13
- datasetsDirectory;
14
- keyValueStoresDirectory;
15
- requestQueuesDirectory;
16
- writeMetadata;
17
- persistStorage;
6
+ export class MemoryStorageClient {
18
7
  logger;
8
+ /**
9
+ * Unique per-instance cache partition key. Mirrors the way `FileSystemStorageClient` partitions its
10
+ * cache by storage directory: two distinct `MemoryStorageClient` instances must not share cached clients.
11
+ */
12
+ instanceCacheKey = `MemoryStorageClient:${randomUUID()}`;
19
13
  keyValueStoreCache = [];
20
14
  datasetClientCache = [];
21
15
  requestQueueCache = [];
22
16
  constructor(options = {}) {
23
- s.object({
24
- localDataDirectory: s.string().optional(),
25
- writeMetadata: s.boolean().optional(),
26
- persistStorage: s.boolean().optional(),
27
- }).parse(options);
28
17
  this.logger = options.logger;
29
- // v3.0.0 used `crawlee_storage` as the default, we changed this in v3.0.1 to just `storage`,
30
- // this function handles it without making BC breaks - it respects existing `crawlee_storage`
31
- // directories, and uses the `storage` only if it's not there.
32
- const defaultStorageDir = () => {
33
- if (pathExistsSync(resolve('./crawlee_storage'))) {
34
- return './crawlee_storage';
35
- }
36
- return './storage';
37
- };
38
- this.localDataDirectory = options.localDataDirectory ?? process.env.CRAWLEE_STORAGE_DIR ?? defaultStorageDir();
39
- this.datasetsDirectory = resolve(this.localDataDirectory, 'datasets');
40
- this.keyValueStoresDirectory = resolve(this.localDataDirectory, 'key_value_stores');
41
- this.requestQueuesDirectory = resolve(this.localDataDirectory, 'request_queues');
42
- this.writeMetadata =
43
- options.writeMetadata ??
44
- process.env.DEBUG?.includes('*') ??
45
- process.env.DEBUG?.includes('crawlee:memory-storage') ??
46
- false;
47
- this.persistStorage =
48
- options.persistStorage ??
49
- (process.env.CRAWLEE_PERSIST_STORAGE
50
- ? !['false', '0', ''].includes(process.env.CRAWLEE_PERSIST_STORAGE)
51
- : true);
52
18
  }
53
19
  /**
54
- * Return a cache key that includes the resolved storage directory, so that
55
- * two `MemoryStorage` instances pointing at different directories get separate
56
- * cache partitions. Mirrors crawlee-python's `FileSystemStorageClient` which
57
- * includes `configuration.storage_dir` in its cache key.
20
+ * Return a per-instance unique cache key so that distinct `MemoryStorageClient` instances get separate
21
+ * cache partitions in the storage-client cache.
58
22
  */
59
23
  getStorageClientCacheKey() {
60
- return `MemoryStorage:${resolve(this.localDataDirectory)}`;
24
+ return this.instanceCacheKey;
61
25
  }
62
26
  static resolveStorageKey(options) {
63
27
  const isAlias = 'alias' in options && !!options.alias;
64
28
  const rawKey = isAlias ? options.alias : (options.name ?? options.id);
65
29
  // Normalize the internal __default__ alias to the user-facing 'default' name.
66
- const directoryKey = rawKey === '__default__' ? 'default' : rawKey;
67
- return { isAlias, directoryKey };
30
+ const cacheKey = rawKey === '__default__' ? 'default' : rawKey;
31
+ return { isAlias, cacheKey };
68
32
  }
69
33
  async createDatasetClient(options = {}) {
70
- const { isAlias, directoryKey } = MemoryStorage.resolveStorageKey(options);
71
- if (directoryKey) {
72
- const found = await findOrCacheDatasetByPossibleId(this, directoryKey);
34
+ const { isAlias, cacheKey } = MemoryStorageClient.resolveStorageKey(options);
35
+ if (cacheKey) {
36
+ const found = this.datasetClientCache.find((store) => store.id === cacheKey ||
37
+ store.name?.toLowerCase() === cacheKey.toLowerCase() ||
38
+ store.cacheKey.toLowerCase() === cacheKey.toLowerCase());
73
39
  if (found) {
74
40
  return found;
75
41
  }
76
42
  }
77
43
  const newStore = new DatasetClient({
78
- name: isAlias ? undefined : directoryKey,
79
- directoryName: directoryKey,
80
- baseStorageDirectory: this.datasetsDirectory,
44
+ name: isAlias ? undefined : cacheKey,
45
+ cacheKey,
81
46
  client: this,
82
47
  });
83
48
  this.datasetClientCache.push(newStore);
84
- // Schedule the worker to write to the disk
85
- const datasetInfo = newStore.toDatasetInfo();
86
- scheduleBackgroundTask({
87
- action: 'update-metadata',
88
- entityType: 'datasets',
89
- entityDirectory: newStore.datasetDirectory,
90
- id: datasetInfo.name ?? datasetInfo.id,
91
- data: datasetInfo,
92
- writeMetadata: this.writeMetadata,
93
- persistStorage: this.persistStorage,
94
- }, this.logger);
95
49
  return newStore;
96
50
  }
97
51
  async createKeyValueStoreClient(options = {}) {
98
- const { isAlias, directoryKey } = MemoryStorage.resolveStorageKey(options);
99
- if (directoryKey) {
100
- const found = await findOrCacheKeyValueStoreByPossibleId(this, directoryKey);
52
+ const { isAlias, cacheKey } = MemoryStorageClient.resolveStorageKey(options);
53
+ if (cacheKey) {
54
+ const found = this.keyValueStoreCache.find((store) => store.id === cacheKey ||
55
+ store.name?.toLowerCase() === cacheKey.toLowerCase() ||
56
+ store.cacheKey.toLowerCase() === cacheKey.toLowerCase());
101
57
  if (found) {
102
58
  return found;
103
59
  }
104
60
  }
105
61
  const newStore = new KeyValueStoreClient({
106
- name: isAlias ? undefined : directoryKey,
107
- directoryName: directoryKey,
108
- baseStorageDirectory: this.keyValueStoresDirectory,
62
+ name: isAlias ? undefined : cacheKey,
63
+ cacheKey,
109
64
  client: this,
110
65
  });
111
66
  this.keyValueStoreCache.push(newStore);
112
- // Schedule the worker to write to the disk
113
- const kvStoreInfo = newStore.toKeyValueStoreInfo();
114
- scheduleBackgroundTask({
115
- action: 'update-metadata',
116
- entityType: 'keyValueStores',
117
- entityDirectory: newStore.keyValueStoreDirectory,
118
- id: kvStoreInfo.name ?? kvStoreInfo.id,
119
- data: kvStoreInfo,
120
- writeMetadata: this.writeMetadata,
121
- persistStorage: this.persistStorage,
122
- }, this.logger);
123
67
  return newStore;
124
68
  }
125
69
  async createRequestQueueClient(options = {}) {
126
- const { isAlias, directoryKey } = MemoryStorage.resolveStorageKey(options);
127
- if (directoryKey) {
128
- const found = await findRequestQueueByPossibleId(this, directoryKey);
70
+ const { isAlias, cacheKey } = MemoryStorageClient.resolveStorageKey(options);
71
+ if (cacheKey) {
72
+ const found = this.requestQueueCache.find((queue) => queue.id === cacheKey ||
73
+ queue.name?.toLowerCase() === cacheKey.toLowerCase() ||
74
+ queue.cacheKey.toLowerCase() === cacheKey.toLowerCase());
129
75
  if (found) {
130
76
  return found;
131
77
  }
132
78
  }
133
79
  const newStore = new RequestQueueClient({
134
- name: isAlias ? undefined : directoryKey,
135
- directoryName: directoryKey,
136
- baseStorageDirectory: this.requestQueuesDirectory,
80
+ name: isAlias ? undefined : cacheKey,
81
+ cacheKey,
137
82
  client: this,
138
83
  });
139
84
  this.requestQueueCache.push(newStore);
140
- // Schedule the worker to write to the disk
141
- const queueInfo = newStore.toRequestQueueInfo();
142
- scheduleBackgroundTask({
143
- action: 'update-metadata',
144
- entityType: 'requestQueues',
145
- entityDirectory: newStore.requestQueueDirectory,
146
- id: queueInfo.name ?? queueInfo.id,
147
- data: queueInfo,
148
- writeMetadata: this.writeMetadata,
149
- persistStorage: this.persistStorage,
150
- }, this.logger);
151
85
  return newStore;
152
86
  }
153
87
  async storageExists(id, type) {
154
88
  let clients;
155
- let baseDir;
156
89
  switch (type) {
157
90
  case 'Dataset':
158
91
  clients = this.datasetClientCache;
159
- baseDir = this.datasetsDirectory;
160
92
  break;
161
93
  case 'KeyValueStore':
162
94
  clients = this.keyValueStoreCache;
163
- baseDir = this.keyValueStoresDirectory;
164
95
  break;
165
96
  case 'RequestQueue':
166
97
  clients = this.requestQueueCache;
167
- baseDir = this.requestQueuesDirectory;
168
98
  break;
169
99
  default:
170
100
  return false;
171
101
  }
172
- // Check in-memory cache by actual storage ID
173
- if (clients.some((store) => store.id === id)) {
174
- return true;
175
- }
176
- // Check if a directory with that ID exists on disk.
177
- // Only consider directories whose name matches the queried ID — this avoids
178
- // false positives for alias-created directories (e.g. a directory named 'asdf'
179
- // created via `{ alias: 'asdf' }` should not make `storageExists('asdf')` return true,
180
- // since the actual storage ID is a UUID, not the alias string).
181
- try {
182
- await access(resolve(baseDir, id));
183
- // If the directory exists but a cached client already owns this directory
184
- // under a different ID, this is not a match.
185
- const cachedClients = clients;
186
- if (cachedClients.some((store) => store.directoryName === id && store.id !== id)) {
187
- return false;
188
- }
189
- return true;
190
- }
191
- catch {
192
- return false;
193
- }
102
+ // In-memory storage only knows about clients in its cache.
103
+ return clients.some((store) => store.id === id);
194
104
  }
195
105
  async setStatusMessage(message, options = {}) {
196
106
  s.string().parse(message);
@@ -200,126 +110,36 @@ export class MemoryStorage {
200
110
  return Promise.resolve();
201
111
  }
202
112
  /**
203
- * Cleans up the default storage directories before the run starts:
204
- * - local directory containing the default dataset;
205
- * - all records from the default key-value store in the local directory, except for the "INPUT" key;
206
- * - local directory containing the default request queue.
113
+ * Cleans up the default storages before the run starts. For the in-memory storage this simply
114
+ * resets the in-memory state of the cached default dataset, key-value store and request queue.
115
+ *
116
+ * As with `FileSystemStorageClient`, the run's input (the `INPUT` key in the default key-value
117
+ * store) is preserved — only the rest of the default storages is cleared.
207
118
  */
208
119
  async purge() {
209
- // Key-value stores
210
- const keyValueStores = await readdir(this.keyValueStoresDirectory).catch(() => []);
211
- const keyValueStorePromises = [];
212
- for (const keyValueStoreFolder of keyValueStores) {
213
- if (keyValueStoreFolder.startsWith('__CRAWLEE_TEMPORARY') || keyValueStoreFolder.startsWith('__OLD')) {
214
- keyValueStorePromises.push((await this.batchRemoveFiles(resolve(this.keyValueStoresDirectory, keyValueStoreFolder)))());
215
- }
216
- else if (keyValueStoreFolder === 'default' || keyValueStoreFolder === '__default__') {
217
- keyValueStorePromises.push(this.handleDefaultKeyValueStore(resolve(this.keyValueStoresDirectory, keyValueStoreFolder))());
218
- }
219
- }
220
- void Promise.allSettled(keyValueStorePromises);
221
- // Datasets
222
- const datasets = await readdir(this.datasetsDirectory).catch(() => []);
223
- const datasetPromises = [];
224
- for (const datasetFolder of datasets) {
225
- if (datasetFolder === 'default' ||
226
- datasetFolder === '__default__' ||
227
- datasetFolder.startsWith('__CRAWLEE_TEMPORARY')) {
228
- datasetPromises.push((await this.batchRemoveFiles(resolve(this.datasetsDirectory, datasetFolder)))());
229
- }
230
- }
231
- void Promise.allSettled(datasetPromises);
232
- // Request queues
233
- const requestQueues = await readdir(this.requestQueuesDirectory).catch(() => []);
234
- const requestQueuePromises = [];
235
- for (const requestQueueFolder of requestQueues) {
236
- if (requestQueueFolder === 'default' ||
237
- requestQueueFolder === '__default__' ||
238
- requestQueueFolder.startsWith('__CRAWLEE_TEMPORARY')) {
239
- requestQueuePromises.push((await this.batchRemoveFiles(resolve(this.requestQueuesDirectory, requestQueueFolder)))());
240
- }
241
- }
242
- void Promise.allSettled(requestQueuePromises);
120
+ // The run default is opened via `{ alias: '__default__' }`, which `resolveStorageKey`
121
+ // normalizes to `cacheKey === 'default'` (with `name === undefined`) that is the clause
122
+ // that actually matches it. The `name === 'default'` clause additionally covers a store a user
123
+ // explicitly opened via `{ name: 'default' }`. (`'__default__'` never reaches `cacheKey`,
124
+ // as it is always normalized to `'default'` first, so it does not need to be checked here.)
125
+ const isDefault = (store) => store.name === 'default' || store.cacheKey === 'default';
126
+ const purgeDefaults = async (cache, purgeStore) => {
127
+ await Promise.all(cache.filter(isDefault).map(async (store) => purgeStore(store)));
128
+ };
129
+ await Promise.all([
130
+ // Preserve the run input (INPUT) when purging the default key-value store, matching
131
+ // `FileSystemStorageClient`.
132
+ purgeDefaults(this.keyValueStoreCache, async (store) => store.purgeExceptInput()),
133
+ purgeDefaults(this.datasetClientCache, async (store) => store.purge()),
134
+ purgeDefaults(this.requestQueueCache, async (store) => store.purge()),
135
+ ]);
243
136
  }
244
137
  /**
245
- * This method should be called at the end of the process, to ensure all data is saved.
138
+ * This method should be called at the end of the process. The in-memory storage holds no resources
139
+ * that outlive the process (no file handles, no cross-process locks), so there is nothing to do.
246
140
  */
247
141
  async teardown() {
248
- const promises = [...promiseMap.values()].map(async ({ promise }) => promise);
249
- await Promise.all(promises);
250
- }
251
- handleDefaultKeyValueStore(folder) {
252
- const storagePathExists = pathExistsSync(folder);
253
- const temporaryPath = resolve(folder, '../__CRAWLEE_MIGRATING_KEY_VALUE_STORE__');
254
- // For optimization, we want to only attempt to copy a few files from the default key-value store
255
- const possibleInputKeys = ['INPUT', 'INPUT.json', 'INPUT.bin', 'INPUT.txt'];
256
- if (storagePathExists) {
257
- // Create temporary folder to save important files in
258
- ensureDirSync(temporaryPath);
259
- // Go through each file and save the ones that are important
260
- for (const entity of possibleInputKeys) {
261
- const originalFilePath = resolve(folder, entity);
262
- const tempFilePath = resolve(temporaryPath, entity);
263
- try {
264
- moveSync(originalFilePath, tempFilePath);
265
- }
266
- catch {
267
- // Ignore
268
- }
269
- }
270
- // Remove the original folder and all its content
271
- let counter = 0;
272
- let tempPathForOldFolder = resolve(folder, `../__OLD_DEFAULT_${counter}__`);
273
- let done = false;
274
- while (!done) {
275
- try {
276
- moveSync(folder, tempPathForOldFolder);
277
- done = true;
278
- }
279
- catch {
280
- tempPathForOldFolder = resolve(folder, `../__OLD_DEFAULT_${++counter}__`);
281
- }
282
- }
283
- // Replace the temporary folder with the original folder
284
- moveSync(temporaryPath, folder);
285
- // Remove the old folder
286
- return async () => (await this.batchRemoveFiles(tempPathForOldFolder))();
287
- }
288
- return async () => Promise.resolve();
289
- }
290
- async batchRemoveFiles(folder, counter = 0) {
291
- const folderExists = pathExistsSync(folder);
292
- if (folderExists) {
293
- const temporaryFolder = resolve(folder, `../__CRAWLEE_TEMPORARY_${counter}__`);
294
- try {
295
- // Rename the old folder to the new one to allow background deletions
296
- await move(folder, temporaryFolder);
297
- }
298
- catch {
299
- // Folder exists already, try again with an incremented counter
300
- return this.batchRemoveFiles(folder, ++counter);
301
- }
302
- return async () => {
303
- // Read all files in the folder
304
- const entries = await readdir(temporaryFolder);
305
- let processed = 0;
306
- let promises = [];
307
- for (const entry of entries) {
308
- processed++;
309
- promises.push(rm(resolve(temporaryFolder, entry), { force: true }));
310
- // Every 2000 files, delete them
311
- if (processed % 2000 === 0) {
312
- await Promise.allSettled(promises);
313
- promises = [];
314
- }
315
- }
316
- // Ensure last promises are handled
317
- await Promise.allSettled(promises);
318
- // Delete the folder itself
319
- await rm(temporaryFolder, { force: true, recursive: true });
320
- };
321
- }
322
- return async () => Promise.resolve();
142
+ // Nothing to tear down for in-memory storage.
323
143
  }
324
144
  }
325
145
  //# sourceMappingURL=memory-storage.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"memory-storage.js","sourceRoot":"","sources":["../src/memory-storage.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"memory-storage.js","sourceRoot":"","sources":["../src/memory-storage.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@crawlee/memory-storage",
3
- "version": "4.0.0-beta.65",
3
+ "version": "4.0.0-beta.67",
4
4
  "description": "A simple in-memory storage implementation of the Apify API",
5
5
  "engines": {
6
6
  "node": ">=22.0.0"
@@ -42,15 +42,12 @@
42
42
  "access": "public"
43
43
  },
44
44
  "dependencies": {
45
- "@crawlee/types": "4.0.0-beta.65",
45
+ "@crawlee/types": "4.0.0-beta.67",
46
46
  "@sapphire/async-queue": "^1.5.5",
47
47
  "@sapphire/shapeshift": "^4.0.0",
48
48
  "content-type": "^1.0.5",
49
- "fs-extra": "^11.3.0",
50
49
  "json5": "^2.2.3",
51
50
  "mime-types": "^3.0.1",
52
- "p-limit": "^6.2.0",
53
- "proper-lockfile": "^4.1.2",
54
51
  "tslib": "^2.8.1"
55
52
  },
56
53
  "lerna": {
@@ -60,5 +57,5 @@
60
57
  }
61
58
  }
62
59
  },
63
- "gitHead": "fcee63d935043be16f7be59ab9784161cf132b11"
60
+ "gitHead": "a0f083cdcc46c96d5e76ed2c75addbba4942c05f"
64
61
  }
@@ -1,8 +1,5 @@
1
- import type { StorageTypes } from '../../consts.js';
2
1
  export declare class BaseClient {
3
2
  id: string;
4
3
  constructor(id: string);
5
- protected throwOnNonExisting(clientType: StorageTypes): never;
6
- protected throwOnDuplicateEntry(clientType: StorageTypes, keyName: string, value: string): never;
7
4
  }
8
5
  //# sourceMappingURL=base-client.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"base-client.d.ts","sourceRoot":"","sources":["../../../src/resource-clients/common/base-client.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAEpD,qBAAa,UAAU;IACnB,EAAE,EAAE,MAAM,CAAC;gBAEC,EAAE,EAAE,MAAM;IAItB,SAAS,CAAC,kBAAkB,CAAC,UAAU,EAAE,YAAY,GAAG,KAAK;IAI7D,SAAS,CAAC,qBAAqB,CAAC,UAAU,EAAE,YAAY,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,KAAK;CAGnG"}
1
+ {"version":3,"file":"base-client.d.ts","sourceRoot":"","sources":["../../../src/resource-clients/common/base-client.ts"],"names":[],"mappings":"AAAA,qBAAa,UAAU;IACnB,EAAE,EAAE,MAAM,CAAC;gBAEC,EAAE,EAAE,MAAM;CAGzB"}
@@ -3,11 +3,5 @@ export class BaseClient {
3
3
  constructor(id) {
4
4
  this.id = id;
5
5
  }
6
- throwOnNonExisting(clientType) {
7
- throw new Error(`${clientType} with id: ${this.id} does not exist.`);
8
- }
9
- throwOnDuplicateEntry(clientType, keyName, value) {
10
- throw new Error(`${clientType} with ${keyName}: ${value} already exists.`);
11
- }
12
6
  }
13
7
  //# sourceMappingURL=base-client.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"base-client.js","sourceRoot":"","sources":["../../../src/resource-clients/common/base-client.ts"],"names":[],"mappings":"AAEA,MAAM,OAAO,UAAU;IACnB,EAAE,CAAS;IAEX,YAAY,EAAU;QAClB,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC;IACjB,CAAC;IAES,kBAAkB,CAAC,UAAwB;QACjD,MAAM,IAAI,KAAK,CAAC,GAAG,UAAU,aAAa,IAAI,CAAC,EAAE,kBAAkB,CAAC,CAAC;IACzE,CAAC;IAES,qBAAqB,CAAC,UAAwB,EAAE,OAAe,EAAE,KAAa;QACpF,MAAM,IAAI,KAAK,CAAC,GAAG,UAAU,SAAS,OAAO,KAAK,KAAK,kBAAkB,CAAC,CAAC;IAC/E,CAAC;CACJ"}
1
+ {"version":3,"file":"base-client.js","sourceRoot":"","sources":["../../../src/resource-clients/common/base-client.ts"],"names":[],"mappings":"AAAA,MAAM,OAAO,UAAU;IACnB,EAAE,CAAS;IAEX,YAAY,EAAU;QAClB,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC;IACjB,CAAC;CACJ"}