X-Git-Url: https://git.piment-noir.org/?a=blobdiff_plain;f=src%2Fpools%2Fworker.ts;h=2da91457aed58994f01714a162adffba69ab61fe;hb=3d76750ac8dacd95003ca89cf9542c3b2a014b8c;hp=58610eaaddacc2beea93809f80675bb8530010c0;hpb=3557031d88b5ff00ea86695728b3ba3af46e9faa;p=poolifier.git diff --git a/src/pools/worker.ts b/src/pools/worker.ts index 58610eaa..2da91457 100644 --- a/src/pools/worker.ts +++ b/src/pools/worker.ts @@ -1,3 +1,4 @@ +import type { MessageChannel } from 'node:worker_threads' import type { CircularArray } from '../circular-array' import type { Task } from '../utility-types' @@ -105,8 +106,8 @@ export interface TaskStatistics { * Enumeration of worker types. */ export const WorkerTypes = Object.freeze({ - cluster: 'cluster', - thread: 'thread' + thread: 'thread', + cluster: 'cluster' } as const) /** @@ -136,6 +137,10 @@ export interface WorkerInfo { * Ready flag. */ ready: boolean + /** + * Message channel. + */ + messageChannel?: MessageChannel } /** @@ -238,7 +243,11 @@ export interface IWorkerNode { */ readonly resetUsage: () => void /** - * Gets task usage statistics. + * Close communication channel. + */ + readonly closeChannel: () => void + /** + * Gets task worker usage statistics. */ readonly getTaskWorkerUsage: (name: string) => WorkerUsage | undefined }