*/
export type PoolType = keyof typeof PoolTypes
+/**
+ * Enumeration of worker types.
+ */
+export const WorkerTypes = Object.freeze({
+ cluster: 'cluster',
+ thread: 'thread'
+} as const)
+
+/**
+ * Worker type.
+ */
+export type WorkerType = keyof typeof WorkerTypes
+
/**
* Pool events emitter.
*/
*/
export interface PoolInfo {
type: PoolType
+ worker: WorkerType
minSize: number
maxSize: number
workerNodes: number
idleWorkerNodes: number
busyWorkerNodes: number
- runningTasks: number
+ executedTasks: number
+ executingTasks: number
queuedTasks: number
maxQueuedTasks: number
+ failedTasks: number
}
/**
Data = unknown,
Response = unknown
> {
- /**
- * Pool type.
- *
- * If it is `'dynamic'`, it provides the `max` property.
- */
- readonly type: PoolType
/**
* Pool information.
*/
*/
execute: (data?: Data, name?: string) => Promise<Response>
/**
- * Shutdowns every current worker in this pool.
+ * Terminate every current worker in this pool.
*/
destroy: () => Promise<void>
/**