repositories
/
poolifier.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
fix: add maximum tasks queue size to worker usage data
[poolifier.git]
/
src
/
pools
/
pool.ts
diff --git
a/src/pools/pool.ts
b/src/pools/pool.ts
index 0013bf5dc20a27a9b84b63645233d2e636c9df49..257b0d64b0844d664ba00763b1dcde79c4711ee7 100644
(file)
--- a/
src/pools/pool.ts
+++ b/
src/pools/pool.ts
@@
-31,6
+31,19
@@
export const PoolTypes = Object.freeze({
*/
export type PoolType = keyof typeof PoolTypes
*/
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.
*/
/**
* Pool events emitter.
*/
@@
-56,14
+69,17
@@
export type PoolEvent = keyof typeof PoolEvents
*/
export interface PoolInfo {
type: PoolType
*/
export interface PoolInfo {
type: PoolType
+ worker: WorkerType
minSize: number
maxSize: number
workerNodes: number
idleWorkerNodes: number
busyWorkerNodes: number
minSize: number
maxSize: number
workerNodes: number
idleWorkerNodes: number
busyWorkerNodes: number
- runningTasks: number
+ executedTasks: number
+ executingTasks: number
queuedTasks: number
maxQueuedTasks: number
queuedTasks: number
maxQueuedTasks: number
+ failedTasks: number
}
/**
}
/**
@@
-144,12
+160,6
@@
export interface IPool<
Data = unknown,
Response = unknown
> {
Data = unknown,
Response = unknown
> {
- /**
- * Pool type.
- *
- * If it is `'dynamic'`, it provides the `max` property.
- */
- readonly type: PoolType
/**
* Pool information.
*/
/**
* Pool information.
*/
@@
-178,7
+188,7
@@
export interface IPool<
*/
execute: (data?: Data, name?: string) => Promise<Response>
/**
*/
execute: (data?: Data, name?: string) => Promise<Response>
/**
- *
Shutdowns
every current worker in this pool.
+ *
Terminate
every current worker in this pool.
*/
destroy: () => Promise<void>
/**
*/
destroy: () => Promise<void>
/**