repositories
/
poolifier.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
docs: refine code comments
[poolifier.git]
/
src
/
pools
/
pool.ts
diff --git
a/src/pools/pool.ts
b/src/pools/pool.ts
index 212253ffbc5be7faff8760dc3847f9cdc486bb89..a8d8849b0797f9e8a16f71058fbca0046d782c73 100644
(file)
--- a/
src/pools/pool.ts
+++ b/
src/pools/pool.ts
@@
-1,5
+1,5
@@
-import { EventEmitter } from 'node:events'
-import
{ type
TransferListItem } from 'node:worker_threads'
+import { EventEmitter
AsyncResource
} from 'node:events'
+import
type {
TransferListItem } from 'node:worker_threads'
import type { TaskFunction } from '../worker/task-functions'
import type {
ErrorHandler,
import type { TaskFunction } from '../worker/task-functions'
import type {
ErrorHandler,
@@
-35,9
+35,9
@@
export const PoolTypes = Object.freeze({
export type PoolType = keyof typeof PoolTypes
/**
export type PoolType = keyof typeof PoolTypes
/**
- * Pool event
s emitter
.
+ * Pool event
emitter integrated with async resource
.
*/
*/
-export class PoolEmitter extends EventEmitter {}
+export class PoolEmitter extends EventEmitter
AsyncResource
{}
/**
* Enumeration of pool events.
/**
* Enumeration of pool events.
@@
-179,7
+179,7
@@
export interface PoolOptions<Worker extends IWorker> {
*/
restartWorkerOnError?: boolean
/**
*/
restartWorkerOnError?: boolean
/**
- * Pool events emission.
+ * Pool events
integrated with async resource
emission.
*
* @defaultValue true
*/
*
* @defaultValue true
*/
@@
-227,7
+227,8
@@
export interface IPool<
*/
readonly hasWorkerNodeBackPressure: (workerNodeKey: number) => boolean
/**
*/
readonly hasWorkerNodeBackPressure: (workerNodeKey: number) => boolean
/**
- * Emitter on which events can be listened to.
+ * Event emitter integrated with async resource on which events can be listened to.
+ * The async tracking tooling identifier is `poolifier:<PoolType>-<WorkerType>-pool`.
*
* Events that can currently be listened to:
*
*
* Events that can currently be listened to:
*
@@
-273,12
+274,14
@@
export interface IPool<
* If a task function with the same name already exists, it will be overwritten.
*
* @param name - The name of the task function.
* If a task function with the same name already exists, it will be overwritten.
*
* @param name - The name of the task function.
- * @param
taskFunctio
n - The task function.
+ * @param
f
n - The task function.
* @returns `true` if the task function was added, `false` otherwise.
* @returns `true` if the task function was added, `false` otherwise.
+ * @throws {@link https://nodejs.org/api/errors.html#class-typeerror} If the `name` parameter is not a string or an empty string.
+ * @throws {@link https://nodejs.org/api/errors.html#class-typeerror} If the `fn` parameter is not a function.
*/
readonly addTaskFunction: (
name: string,
*/
readonly addTaskFunction: (
name: string,
-
taskFunctio
n: TaskFunction<Data, Response>
+
f
n: TaskFunction<Data, Response>
) => Promise<boolean>
/**
* Removes a task function from this pool.
) => Promise<boolean>
/**
* Removes a task function from this pool.