repositories
/
poolifier.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
chore: v2.6.6
[poolifier.git]
/
src
/
pools
/
worker.ts
diff --git
a/src/pools/worker.ts
b/src/pools/worker.ts
index b6dddd1d59ac24916dd8ab49591dc31c1edfa93a..86f5121dd1d73239c925c51319b6ff8bdc9b2a03 100644
(file)
--- a/
src/pools/worker.ts
+++ b/
src/pools/worker.ts
@@
-1,4
+1,3
@@
-import type { EventLoopUtilization } from 'node:perf_hooks'
import type { CircularArray } from '../circular-array'
import type { Queue } from '../queue'
import type { CircularArray } from '../circular-array'
import type { Queue } from '../queue'
@@
-7,7
+6,7
@@
import type { Queue } from '../queue'
*/
export type MessageHandler<Worker extends IWorker> = (
this: Worker,
*/
export type MessageHandler<Worker extends IWorker> = (
this: Worker,
- m: unknown
+ m
essage
: unknown
) => void
/**
) => void
/**
@@
-15,7
+14,7
@@
export type MessageHandler<Worker extends IWorker> = (
*/
export type ErrorHandler<Worker extends IWorker> = (
this: Worker,
*/
export type ErrorHandler<Worker extends IWorker> = (
this: Worker,
- e: Error
+ e
rror
: Error
) => void
/**
) => void
/**
@@
-28,13
+27,13
@@
export type OnlineHandler<Worker extends IWorker> = (this: Worker) => void
*/
export type ExitHandler<Worker extends IWorker> = (
this: Worker,
*/
export type ExitHandler<Worker extends IWorker> = (
this: Worker,
-
c
ode: number
+
exitC
ode: number
) => void
/**
* Message object that is passed as a task between main worker and worker.
*
) => void
/**
* Message object that is passed as a task between main worker and worker.
*
- * @typeParam Data - Type of data sent to the worker. This can only be s
erializ
able data.
+ * @typeParam Data - Type of data sent to the worker. This can only be s
tructured-clone
able data.
* @internal
*/
export interface Task<Data = unknown> {
* @internal
*/
export interface Task<Data = unknown> {
@@
-63,9
+62,9
@@
export interface Task<Data = unknown> {
*/
export interface MeasurementStatistics {
/**
*/
export interface MeasurementStatistics {
/**
- * Measurement aggregat
ion
.
+ * Measurement aggregat
e
.
*/
*/
- aggregat
ion
: number
+ aggregat
e
: number
/**
* Measurement average.
*/
/**
* Measurement average.
*/
@@
-80,6
+79,17
@@
export interface MeasurementStatistics {
history: CircularArray<number>
}
history: CircularArray<number>
}
+/**
+ * Event loop utilization measurement statistics.
+ *
+ * @internal
+ */
+export interface EventLoopUtilizationMeasurementStatistics {
+ idle: MeasurementStatistics
+ active: MeasurementStatistics
+ utilization: number
+}
+
/**
* Task statistics.
*
/**
* Task statistics.
*
@@
-87,19
+97,23
@@
export interface MeasurementStatistics {
*/
export interface TaskStatistics {
/**
*/
export interface TaskStatistics {
/**
- * Number of
tasks executed
.
+ * Number of
executed tasks
.
*/
executed: number
/**
*/
executed: number
/**
- * Number of
tasks executing
.
+ * Number of
executing tasks
.
*/
executing: number
/**
*/
executing: number
/**
- * Number of
tasks queued
.
+ * Number of
queued tasks
.
*/
readonly queued: number
/**
*/
readonly queued: number
/**
- * Number of tasks failed.
+ * Maximum number of queued tasks.
+ */
+ readonly maxQueued: number
+ /**
+ * Number of failed tasks.
*/
failed: number
}
*/
failed: number
}
@@
-123,9
+137,9
@@
export interface WorkerUsage {
*/
waitTime: MeasurementStatistics
/**
*/
waitTime: MeasurementStatistics
/**
- *
Event loop utilization
.
+ *
Tasks event loop utilization statistics
.
*/
*/
- elu: EventLoopUtilization
| undefined
+ elu: EventLoopUtilization
MeasurementStatistics
}
/**
}
/**
@@
-155,7
+169,7
@@
export interface IWorker {
* Worker node interface.
*
* @typeParam Worker - Type of worker.
* Worker node interface.
*
* @typeParam Worker - Type of worker.
- * @typeParam Data - Type of data sent to the worker. This can only be s
erializ
able data.
+ * @typeParam Data - Type of data sent to the worker. This can only be s
tructured-clone
able data.
* @internal
*/
export interface WorkerNode<Worker extends IWorker, Data = unknown> {
* @internal
*/
export interface WorkerNode<Worker extends IWorker, Data = unknown> {
@@
-166,7
+180,7
@@
export interface WorkerNode<Worker extends IWorker, Data = unknown> {
/**
* Worker node worker usage statistics.
*/
/**
* Worker node worker usage statistics.
*/
-
workerU
sage: WorkerUsage
+
u
sage: WorkerUsage
/**
* Worker node tasks queue.
*/
/**
* Worker node tasks queue.
*/