Document new kill behavior on the readme (#170)
authorAlessandro Pio Ardizio <alessandroardizio94@gmail.com>
Tue, 16 Feb 2021 16:19:36 +0000 (17:19 +0100)
committerGitHub <noreply@github.com>
Tue, 16 Feb 2021 16:19:36 +0000 (17:19 +0100)
Co-authored-by: Shinigami <chrissi92@hotmail.de>
README.md
src/worker/worker-options.ts

index 5f1e892fb9c72cd1b1baa154a3057609ae84d373..ad01a6eea95c36911ca02150f4c7fa6f032e471d 100644 (file)
--- 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
 
index 4473a97533b5c07db172d1c756ae0bce47d1d03a..cf7237de3618465d47630c2d0934d278ffb0e242 100644 (file)
@@ -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
    */