From 15eacd5dc058773d3422ee2dd2453d89bd7e60c3 Mon Sep 17 00:00:00 2001 From: Alessandro Pio Ardizio Date: Tue, 16 Feb 2021 17:19:36 +0100 Subject: [PATCH] Document new kill behavior on the readme (#170) Co-authored-by: Shinigami --- README.md | 12 +++++++++++- src/worker/worker-options.ts | 2 +- 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 5f1e892f..ad01a6ee 100644 --- a/README.md +++ b/README.md @@ -174,8 +174,18 @@ This method will call the terminate method on each worker. `fn` (mandatory) The function that you want to execute on the worker thread `opts` (optional) An object with these properties: -- `maxInactiveTime` - Max time to wait tasks to work on ( in ms) , after this period the new worker threads will die. +- `maxInactiveTime` - Max time to wait tasks to work on (in ms), after this period the new worker threads will die. +The last active time of your worker unit will be updated when a task is submitted to a worker or when a worker terminate a task. +If `killBehavior` is set to `KillBehaviors.HARD` this value represents also the timeout for the tasks that you submit to the pool, when this timeout expires your tasks is interrupted and the worker is killed if is not part of the minimum size of the pool. +If `killBehavior` is set to `KillBehaviors.SOFT` your tasks have no timeout and your workers will not be terminated until your task is completed. +Default: 60.000 ms + - `async` - true/false, true if your function contains async pieces else false +- `killBehavior` - Dictates if your async unit (worker/process) will be deleted in case that a task is active on it. +**SOFT**: If `currentTime - lastActiveTime` is greater than `maxInactiveTime` but a task is still running, then the worker **wont** be deleted. +**HARD**: If `lastActiveTime` is greater than `maxInactiveTime` but a task is still running, then the worker will be deleted. +This option only apply to the newly created workers. +Default: `SOFT` ## Choose your pool diff --git a/src/worker/worker-options.ts b/src/worker/worker-options.ts index 4473a975..cf7237de 100644 --- a/src/worker/worker-options.ts +++ b/src/worker/worker-options.ts @@ -44,7 +44,7 @@ export interface WorkerOptions { * * - If `killBehavior` is set to `KillBehaviors.HARD` this value represents also the timeout for the tasks that you submit to the pool, * when this timeout expires your tasks is interrupted and the worker is killed if is not part of the minimum size of the pool. - * - If `killBehavior` is set to `KillBehaviors.SOFT` your tasks have no timeout and your workers will not be terminated until your task is. + * - If `killBehavior` is set to `KillBehaviors.SOFT` your tasks have no timeout and your workers will not be terminated until your task is completed. * * @default 60.000 ms */ -- 2.34.1