+1
-1
@@ -242,4 +242,4 @@ import Task from "./src/task.js"; | ||
| } | ||
| export { Task, TaskStore, TaskExecutor, getFileParts, safeUpsert, hasProperty }; | ||
| export { Task, TaskExecutor, getFileParts, safeUpsert, hasProperty, WorkerManager }; | ||
| export type { WorkerStatus, TaskResult, TaskStatus, TaskValidationRule }; | ||
| //# sourceMappingURL=index.d.ts.map |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"AAGA,OAAO,IAAI,MAAM,eAAe,CAAC;AACjC,OAAO,SAAS,MAAM,qBAAqB,CAAC;AAC5C,OAAO,YAAY,MAAM,wBAAwB,CAAC;AAClD,OAAO,oBAAoB,MAAM,wBAAwB,CAAC;AAC1D,OAAO,aAAa,MAAM,yBAAyB,CAAC;AAEpD,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAsB,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAEpE,OAAO,KAAK,EACX,YAAY,EACZ,YAAY,EACZ,UAAU,EACV,UAAU,EACV,YAAY,EACZ,kBAAkB,EAClB,MAAM,oBAAoB,CAAC;AAE5B;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,CAAC,OAAO,OAAO,KAAK;IACzB,gEAAgE;IACzD,aAAa,EAAE,MAAM,CAAC;IAE7B,sDAAsD;IAC/C,OAAO,EAAE,aAAa,CAAC;IAE9B,qDAAqD;IACrD,OAAO,CAAC,SAAS,CAAc;IAE/B,2CAA2C;IAC3C,OAAO,CAAC,aAAa,CAAuB;IAE5C,iEAAiE;IACjE,OAAO,CAAC,SAAS,CAAY;IAE7B,2EAA2E;IAC3E,OAAO,CAAC,gBAAgB,CAAkB;IAE1C;;;;;;;;;;;;;;;OAeG;gBACS,aAAa,EAAE,MAAM,EAAE,IAAI,GAAE,YAAiB;IAwB1D;;;;;;;;;;;;;;OAcG;IACU,IAAI,IAAI,OAAO,CAAC,KAAK,CAAC;IAQnC;;;;OAIG;IACI,WAAW,CAAC,EAAE,EAAE,YAAY;IAKnC;;;;;;;;;;;;;;;;;;OAkBG;IACU,gBAAgB,CAAC,OAAO,EAAE,MAAM;IA0B7C;;;;;;;;;;;;;;OAcG;IACU,QAAQ,CAAC,KAAK,CAAC,EAAE,IAAI,EAAE;;;;;;IAwEpC;;;;;;;;;;;;OAYG;IACU,aAAa,IAAI,OAAO,CAAC,IAAI,CAAC;IAgB3C;;;;OAIG;IACH,IAAW,KAAK,IAAI,SAAS,CAE5B;IAED;;;;OAIG;IACH,IAAW,gBAAgB,IAAI,oBAAoB,CAElD;IAED;;;;;;;;;;;OAWG;IACI,GAAG,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI;IAO5B;;;;;;;;;;;;;OAaG;IACI,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO;IAatC;;;;;;;;;;;;;;;;OAgBG;IACI,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO;IAYtC;;;;;;;;;;;;;OAaG;IACI,OAAO,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS;IAIhD;;;;;;;;;;OAUG;IACI,eAAe;IAMtB;;;;;;;;;;;;OAYG;IACI,eAAe,IAAI,UAAU,EAAE;IAItC;;;;;OAKG;IACI,KAAK,IAAI,IAAI;CAIpB;AAED,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,YAAY,EAAE,YAAY,EAAE,UAAU,EAAE,WAAW,EAAE,CAAC;AAEhF,YAAY,EAAE,YAAY,EAAE,UAAU,EAAE,UAAU,EAAE,kBAAkB,EAAE,CAAC"} | ||
| {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"AAGA,OAAO,IAAI,MAAM,eAAe,CAAC;AACjC,OAAO,SAAS,MAAM,qBAAqB,CAAC;AAC5C,OAAO,YAAY,MAAM,wBAAwB,CAAC;AAClD,OAAO,oBAAoB,MAAM,wBAAwB,CAAC;AAC1D,OAAO,aAAa,MAAM,yBAAyB,CAAC;AAEpD,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAsB,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAEpE,OAAO,KAAK,EACX,YAAY,EACZ,YAAY,EACZ,UAAU,EACV,UAAU,EACV,YAAY,EACZ,kBAAkB,EAClB,MAAM,oBAAoB,CAAC;AAE5B;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,CAAC,OAAO,OAAO,KAAK;IACzB,gEAAgE;IACzD,aAAa,EAAE,MAAM,CAAC;IAE7B,sDAAsD;IAC/C,OAAO,EAAE,aAAa,CAAC;IAE9B,qDAAqD;IACrD,OAAO,CAAC,SAAS,CAAc;IAE/B,2CAA2C;IAC3C,OAAO,CAAC,aAAa,CAAuB;IAE5C,iEAAiE;IACjE,OAAO,CAAC,SAAS,CAAY;IAE7B,2EAA2E;IAC3E,OAAO,CAAC,gBAAgB,CAAkB;IAE1C;;;;;;;;;;;;;;;OAeG;gBACS,aAAa,EAAE,MAAM,EAAE,IAAI,GAAE,YAAiB;IAwB1D;;;;;;;;;;;;;;OAcG;IACU,IAAI,IAAI,OAAO,CAAC,KAAK,CAAC;IAQnC;;;;OAIG;IACI,WAAW,CAAC,EAAE,EAAE,YAAY;IAKnC;;;;;;;;;;;;;;;;;;OAkBG;IACU,gBAAgB,CAAC,OAAO,EAAE,MAAM;IA0B7C;;;;;;;;;;;;;;OAcG;IACU,QAAQ,CAAC,KAAK,CAAC,EAAE,IAAI,EAAE;;;;;;IAwEpC;;;;;;;;;;;;OAYG;IACU,aAAa,IAAI,OAAO,CAAC,IAAI,CAAC;IAgB3C;;;;OAIG;IACH,IAAW,KAAK,IAAI,SAAS,CAE5B;IAED;;;;OAIG;IACH,IAAW,gBAAgB,IAAI,oBAAoB,CAElD;IAED;;;;;;;;;;;OAWG;IACI,GAAG,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI;IAO5B;;;;;;;;;;;;;OAaG;IACI,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO;IAatC;;;;;;;;;;;;;;;;OAgBG;IACI,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO;IAYtC;;;;;;;;;;;;;OAaG;IACI,OAAO,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS;IAIhD;;;;;;;;;;OAUG;IACI,eAAe;IAMtB;;;;;;;;;;;;OAYG;IACI,eAAe,IAAI,UAAU,EAAE;IAItC;;;;;OAKG;IACI,KAAK,IAAI,IAAI;CAIpB;AAED,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE,YAAY,EAAE,UAAU,EAAE,WAAW,EAAE,aAAa,EAAE,CAAC;AAEpF,YAAY,EAAE,YAAY,EAAE,UAAU,EAAE,UAAU,EAAE,kBAAkB,EAAE,CAAC"} |
+1
-1
@@ -369,2 +369,2 @@ import Task from "./src/task.js"; | ||
| } | ||
| export { Task, TaskStore, TaskExecutor, getFileParts, safeUpsert, hasProperty }; | ||
| export { Task, TaskExecutor, getFileParts, safeUpsert, hasProperty, WorkerManager }; |
@@ -40,10 +40,14 @@ import Queue from "index.js"; | ||
| /** | ||
| * Retrieves a specific worker process by ID. | ||
| * Retrieves a specific Worker by ID. | ||
| * | ||
| * @param id - The unique identifier of the worker | ||
| * @returns The child process if found, undefined otherwise | ||
| * @returns The Worker if found, undefined otherwise | ||
| */ | ||
| get(id: string): Worker | undefined; | ||
| set(id: string, worker: Worker): Map<string, Worker>; | ||
| remove(id: string): boolean; | ||
| map(f: (worker: Worker, workerId: string) => void): void[]; | ||
| forEach(f: (worker: Worker, workerId: string) => void): void; | ||
| get size(): number; | ||
| getQueue(): Queue; | ||
| remove(id: string): boolean; | ||
| /** | ||
@@ -83,3 +87,2 @@ * Gets the first available worker process. | ||
| spawn(workerId?: string, opts?: WorkerOptions): Worker; | ||
| private forEach; | ||
| private _generateId; | ||
@@ -86,0 +89,0 @@ } |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"worker-manager.d.ts","sourceRoot":"","sources":["../../src/worker-manager.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,MAAM,UAAU,CAAC;AAC7B,OAAO,MAAM,MAAM,aAAa,CAAC;AAEjC,OAAO,KAAK,EACX,aAAa,EACb,WAAW,EACX,MAAM,qBAAqB,CAAC;AAE7B,UAAU,oBAAoB;IAC7B,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;CACnB;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,CAAC,OAAO,OAAO,aAAa;IACjC,gEAAgE;IACzD,aAAa,EAAE,MAAM,CAAC;IAE7B,uEAAuE;IAChE,YAAY,EAAE,MAAM,CAAC;IAE5B,4EAA4E;IAC5E,SAAgB,UAAU,EAAE,MAAM,CAAC;IAEnC,qEAAqE;IACrE,OAAO,CAAC,MAAM,CAAQ;IAEtB,+DAA+D;IAC/D,OAAO,CAAC,QAAQ,CAAkC;IAElD;;;;;OAKG;gBACS,KAAK,EAAE,KAAK,EAAE,aAAa,EAAE,MAAM,EAAE,IAAI,EAAE,oBAAoB;IAO3E;;;;;OAKG;IACI,GAAG,CAAC,EAAE,EAAE,MAAM;IAId,QAAQ,IAAI,KAAK;IAIjB,MAAM,CAAC,EAAE,EAAE,MAAM;IAIxB;;;;;OAKG;IACI,YAAY,IAAI,MAAM,GAAG,SAAS;IAczC;;OAEG;IACI,SAAS,CAAC,OAAO,EAAE;QAAE,KAAK,EAAE,WAAW,CAAA;KAAE,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAM1E;;;;;;OAMG;IACI,KAAK,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,UAAQ;IAM5C;;;;;;;;;;;OAWG;IACI,KAAK,CACX,QAAQ,GAAE,MAA2B,EACrC,IAAI,GAAE,aAAkB;IA+BzB,OAAO,CAAC,OAAO;IAIf,OAAO,CAAC,WAAW;CAGnB"} | ||
| {"version":3,"file":"worker-manager.d.ts","sourceRoot":"","sources":["../../src/worker-manager.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,MAAM,UAAU,CAAC;AAC7B,OAAO,MAAM,MAAM,aAAa,CAAC;AAEjC,OAAO,KAAK,EACX,aAAa,EACb,WAAW,EACX,MAAM,qBAAqB,CAAC;AAE7B,UAAU,oBAAoB;IAC7B,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;CACnB;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,CAAC,OAAO,OAAO,aAAa;IACjC,gEAAgE;IACzD,aAAa,EAAE,MAAM,CAAC;IAE7B,uEAAuE;IAChE,YAAY,EAAE,MAAM,CAAC;IAE5B,4EAA4E;IAC5E,SAAgB,UAAU,EAAE,MAAM,CAAC;IAEnC,qEAAqE;IACrE,OAAO,CAAC,MAAM,CAAQ;IAEtB,+DAA+D;IAC/D,OAAO,CAAC,QAAQ,CAAkC;IAElD;;;;;OAKG;gBACS,KAAK,EAAE,KAAK,EAAE,aAAa,EAAE,MAAM,EAAE,IAAI,EAAE,oBAAoB;IAO3E;;;;;OAKG;IACI,GAAG,CAAC,EAAE,EAAE,MAAM;IAId,GAAG,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;IAI9B,MAAM,CAAC,EAAE,EAAE,MAAM;IAQjB,GAAG,CAAC,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,KAAK,IAAI;IAIjD,OAAO,CAAC,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,KAAK,IAAI;IAI5D,IAAW,IAAI,WAEd;IAEM,QAAQ,IAAI,KAAK;IAIxB;;;;;OAKG;IACI,YAAY,IAAI,MAAM,GAAG,SAAS;IAczC;;OAEG;IACI,SAAS,CAAC,OAAO,EAAE;QAAE,KAAK,EAAE,WAAW,CAAA;KAAE,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAM1E;;;;;;OAMG;IACI,KAAK,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,UAAQ;IAK5C;;;;;;;;;;;OAWG;IACI,KAAK,CACX,QAAQ,GAAE,MAA2B,EACrC,IAAI,GAAE,aAAkB;IA+BzB,OAAO,CAAC,WAAW;CAGnB"} |
@@ -43,6 +43,6 @@ import path from "path"; | ||
| /** | ||
| * Retrieves a specific worker process by ID. | ||
| * Retrieves a specific Worker by ID. | ||
| * | ||
| * @param id - The unique identifier of the worker | ||
| * @returns The child process if found, undefined otherwise | ||
| * @returns The Worker if found, undefined otherwise | ||
| */ | ||
@@ -52,8 +52,23 @@ get(id) { | ||
| } | ||
| getQueue() { | ||
| return this._queue; | ||
| set(id, worker) { | ||
| return this._workers.set(id, worker); | ||
| } | ||
| remove(id) { | ||
| const worker = this._workers.get(id); | ||
| if (worker) | ||
| worker.close(); | ||
| return this._workers.delete(id); | ||
| } | ||
| map(f) { | ||
| return Array.from(this._workers.values()).map((worker, key) => f(worker, key)); | ||
| } | ||
| forEach(f) { | ||
| this._workers.forEach((worker, key) => f(worker, key)); | ||
| } | ||
| get size() { | ||
| return this._workers.size; | ||
| } | ||
| getQueue() { | ||
| return this._queue; | ||
| } | ||
| /** | ||
@@ -93,5 +108,4 @@ * Gets the first available worker process. | ||
| const worker = this.get(workerId); | ||
| if (!worker) | ||
| return; | ||
| worker.close(force); | ||
| if (worker) | ||
| worker.close(force); | ||
| } | ||
@@ -132,5 +146,2 @@ /** | ||
| } | ||
| forEach(f) { | ||
| this._workers.forEach((worker, key) => f(worker, key)); | ||
| } | ||
| _generateId() { | ||
@@ -137,0 +148,0 @@ return this.workerPrefix + (this._workers.size + 1); |
@@ -22,3 +22,3 @@ import { ChildProcess } from "child_process"; | ||
| */ | ||
| close(force?: boolean): boolean; | ||
| close(force?: boolean): void; | ||
| setTaskLoad(load: number): void; | ||
@@ -25,0 +25,0 @@ private registerListener; |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"worker.d.ts","sourceRoot":"","sources":["../../src/worker.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAG7C,OAAO,aAAa,MAAM,qBAAqB,CAAC;AAEhD,OAAO,KAAK,EAAgB,WAAW,EAAgB,MAAM,qBAAqB,CAAC;AAKnF,MAAM,CAAC,OAAO,OAAO,MAAM;IACnB,EAAE,EAAE,MAAM,CAAC;IACX,eAAe,EAAE,MAAM,CAAK;IAC5B,kBAAkB,EAAE,MAAM,CAAM;IAEvC,SAAS,CAAC,QAAQ,EAAE,aAAa,CAAC;IAClC,SAAS,CAAC,QAAQ,EAAE,YAAY,CAAC;gBAErB,OAAO,EAAE,aAAa,EAAE,OAAO,EAAE,YAAY,EAAE,EAAE,EAAE,MAAM;IAQ9D,IAAI,CAAC,IAAI,EAAE;QAAE,KAAK,EAAE,WAAW,CAAA;KAAE,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAKrD,OAAO;IA6BpB;;;;;;OAMG;IACI,KAAK,CAAC,KAAK,UAAQ;IAWnB,WAAW,CAAC,IAAI,EAAE,MAAM;IAI/B,OAAO,CAAC,gBAAgB;IAQxB,OAAO,CAAC,kBAAkB;CAwE1B"} | ||
| {"version":3,"file":"worker.d.ts","sourceRoot":"","sources":["../../src/worker.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAG7C,OAAO,aAAa,MAAM,qBAAqB,CAAC;AAEhD,OAAO,KAAK,EAAgB,WAAW,EAAgB,MAAM,qBAAqB,CAAC;AAKnF,MAAM,CAAC,OAAO,OAAO,MAAM;IACnB,EAAE,EAAE,MAAM,CAAC;IACX,eAAe,EAAE,MAAM,CAAK;IAC5B,kBAAkB,EAAE,MAAM,CAAM;IAEvC,SAAS,CAAC,QAAQ,EAAE,aAAa,CAAC;IAClC,SAAS,CAAC,QAAQ,EAAE,YAAY,CAAC;gBAErB,OAAO,EAAE,aAAa,EAAE,OAAO,EAAE,YAAY,EAAE,EAAE,EAAE,MAAM;IAQ9D,IAAI,CAAC,IAAI,EAAE;QAAE,KAAK,EAAE,WAAW,CAAA;KAAE,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAKrD,OAAO;IA6BpB;;;;;;OAMG;IACI,KAAK,CAAC,KAAK,UAAQ;IASnB,WAAW,CAAC,IAAI,EAAE,MAAM;IAI/B,OAAO,CAAC,gBAAgB;IAQxB,OAAO,CAAC,kBAAkB;CAyE1B"} |
@@ -51,3 +51,2 @@ export default class Worker { | ||
| worker.kill(); | ||
| return this._manager.remove(this.id); | ||
| } | ||
@@ -86,2 +85,3 @@ setTaskLoad(load) { | ||
| this.close(true); | ||
| this._manager.remove(this.id); | ||
| console.error(`[Worker: ${this.id}] exceeded max restart attempts. Manual intervention required.`); | ||
@@ -88,0 +88,0 @@ } |
+1
-1
| { | ||
| "name": "anqueue", | ||
| "version": "1.0.0", | ||
| "version": "1.0.1", | ||
| "description": "An asynchronous node task queue", | ||
@@ -5,0 +5,0 @@ "keywords": [ |
Shell access
Supply chain riskThis module accesses the system shell. Accessing the system shell increases the risk of executing arbitrary code.
Found 1 instance in 1 package
Environment variable access
Supply chain riskPackage accesses environment variables, which may be a sign of credential stuffing or data theft.
Found 7 instances in 1 package
Filesystem access
Supply chain riskAccesses the file system, and could potentially read sensitive data.
Found 1 instance in 1 package
Shell access
Supply chain riskThis module accesses the system shell. Accessing the system shell increases the risk of executing arbitrary code.
Found 1 instance in 1 package
Environment variable access
Supply chain riskPackage accesses environment variables, which may be a sign of credential stuffing or data theft.
Found 7 instances in 1 package
Filesystem access
Supply chain riskAccesses the file system, and could potentially read sensitive data.
Found 1 instance in 1 package
97291
0.71%2084
0.68%