Merge branch 'master' of github.com:poolifier/poolifier
[poolifier.git] / docs / classes / DynamicClusterPool.html
index 80576199ce10c7c89f64b236a836a750f5a942bd..051f7ce50d1267c4d8f903d1404441fa329dbba0 100644 (file)
@@ -40,7 +40,7 @@ When the maximum number of workers is reached, an event is emitted. If you want
 <ul class="tsd-hierarchy">
 <li><span class="target">DynamicClusterPool</span></li></ul></li></ul></section><aside class="tsd-sources">
 <ul>
-<li>Defined in <a href="https://github.com/jerome-benoit/poolifier/blob/40ad1d2/src/pools/cluster/dynamic.ts#L16">src/pools/cluster/dynamic.ts:16</a></li></ul></aside>
+<li>Defined in <a href="https://github.com/poolifier/poolifier/blob/3f4ea67/src/pools/cluster/dynamic.ts#L16">src/pools/cluster/dynamic.ts:16</a></li></ul></aside>
 <section class="tsd-panel-group tsd-index-group">
 <section class="tsd-panel tsd-index-panel">
 <details class="tsd-index-content tsd-index-accordion" open><summary class="tsd-accordion-summary tsd-index-summary">
@@ -59,9 +59,9 @@ When the maximum number of workers is reached, an event is emitted. If you want
 <a href="DynamicClusterPool.html#numberOfWorkers" class="tsd-index-link tsd-kind-property tsd-parent-kind-class tsd-is-inherited"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-1024-path"></use><use href="#icon-1024-text"></use></svg><span>number<wbr/>Of<wbr/>Workers</span></a>
 <a href="DynamicClusterPool.html#opts" class="tsd-index-link tsd-kind-property tsd-parent-kind-class tsd-is-inherited"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-1024-path"></use><use href="#icon-1024-text"></use></svg><span>opts</span></a>
 <a href="DynamicClusterPool.html#promiseMap" class="tsd-index-link tsd-kind-property tsd-parent-kind-class tsd-is-protected tsd-is-inherited"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-1024-path"></use><use href="#icon-1024-text"></use></svg><span>promise<wbr/>Map</span></a>
-<a href="DynamicClusterPool.html#tasks" class="tsd-index-link tsd-kind-property tsd-parent-kind-class tsd-is-inherited"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-1024-path"></use><use href="#icon-1024-text"></use></svg><span>tasks</span></a>
 <a href="DynamicClusterPool.html#workerChoiceStrategyContext" class="tsd-index-link tsd-kind-property tsd-parent-kind-class tsd-is-protected tsd-is-inherited"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-1024-path"></use><use href="#icon-1024-text"></use></svg><span>worker<wbr/>Choice<wbr/>Strategy<wbr/>Context</span></a>
 <a href="DynamicClusterPool.html#workers" class="tsd-index-link tsd-kind-property tsd-parent-kind-class tsd-is-inherited"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-1024-path"></use><use href="#icon-1024-text"></use></svg><span>workers</span></a>
+<a href="DynamicClusterPool.html#workersTasksUsage" class="tsd-index-link tsd-kind-property tsd-parent-kind-class tsd-is-inherited"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-1024-path"></use><use href="#icon-1024-text"></use></svg><span>workers<wbr/>Tasks<wbr/>Usage</span></a>
 </div></section>
 <section class="tsd-index-section">
 <h3 class="tsd-index-heading">Accessors</h3>
@@ -71,18 +71,20 @@ When the maximum number of workers is reached, an event is emitted. If you want
 </div></section>
 <section class="tsd-index-section">
 <h3 class="tsd-index-heading">Methods</h3>
-<div class="tsd-index-list"><a href="DynamicClusterPool.html#afterWorkerSetup" class="tsd-index-link tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-inherited"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><rect fill="var(--color-icon-background)" stroke="#FF4DB8" stroke-width="1.5" x="1" y="1" width="22" height="22" rx="12" id="icon-2048-path"></rect><path d="M9.162 16V7.24H10.578L11.514 10.072C11.602 10.328 11.674 10.584 11.73 10.84C11.794 11.088 11.842 11.28 11.874 11.416C11.906 11.28 11.954 11.088 12.018 10.84C12.082 10.584 12.154 10.324 12.234 10.06L13.122 7.24H14.538V16H13.482V12.82C13.482 12.468 13.49 12.068 13.506 11.62C13.53 11.172 13.558 10.716 13.59 10.252C13.622 9.78 13.654 9.332 13.686 8.908C13.726 8.476 13.762 8.1 13.794 7.78L12.366 12.16H11.334L9.894 7.78C9.934 8.092 9.97 8.456 10.002 8.872C10.042 9.28 10.078 9.716 10.11 10.18C10.142 10.636 10.166 11.092 10.182 11.548C10.206 12.004 10.218 12.428 10.218 12.82V16H9.162Z" fill="var(--color-text)" id="icon-2048-text"></path></svg><span>after<wbr/>Worker<wbr/>Setup</span></a>
+<div class="tsd-index-list"><a href="DynamicClusterPool.html#afterPromiseWorkerResponseHook" class="tsd-index-link tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-inherited"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><rect fill="var(--color-icon-background)" stroke="#FF4DB8" stroke-width="1.5" x="1" y="1" width="22" height="22" rx="12" id="icon-2048-path"></rect><path d="M9.162 16V7.24H10.578L11.514 10.072C11.602 10.328 11.674 10.584 11.73 10.84C11.794 11.088 11.842 11.28 11.874 11.416C11.906 11.28 11.954 11.088 12.018 10.84C12.082 10.584 12.154 10.324 12.234 10.06L13.122 7.24H14.538V16H13.482V12.82C13.482 12.468 13.49 12.068 13.506 11.62C13.53 11.172 13.558 10.716 13.59 10.252C13.622 9.78 13.654 9.332 13.686 8.908C13.726 8.476 13.762 8.1 13.794 7.78L12.366 12.16H11.334L9.894 7.78C9.934 8.092 9.97 8.456 10.002 8.872C10.042 9.28 10.078 9.716 10.11 10.18C10.142 10.636 10.166 11.092 10.182 11.548C10.206 12.004 10.218 12.428 10.218 12.82V16H9.162Z" fill="var(--color-text)" id="icon-2048-text"></path></svg><span>after<wbr/>Promise<wbr/>Worker<wbr/>Response<wbr/>Hook</span></a>
+<a href="DynamicClusterPool.html#afterWorkerSetup" class="tsd-index-link tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-inherited"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-2048-path"></use><use href="#icon-2048-text"></use></svg><span>after<wbr/>Worker<wbr/>Setup</span></a>
+<a href="DynamicClusterPool.html#beforePromiseWorkerResponseHook" class="tsd-index-link tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-inherited"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-2048-path"></use><use href="#icon-2048-text"></use></svg><span>before<wbr/>Promise<wbr/>Worker<wbr/>Response<wbr/>Hook</span></a>
 <a href="DynamicClusterPool.html#chooseWorker" class="tsd-index-link tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-inherited"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-2048-path"></use><use href="#icon-2048-text"></use></svg><span>choose<wbr/>Worker</span></a>
 <a href="DynamicClusterPool.html#createAndSetupWorker" class="tsd-index-link tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-inherited"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-2048-path"></use><use href="#icon-2048-text"></use></svg><span>create<wbr/>And<wbr/>Setup<wbr/>Worker</span></a>
 <a href="DynamicClusterPool.html#createWorker" class="tsd-index-link tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-inherited"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-2048-path"></use><use href="#icon-2048-text"></use></svg><span>create<wbr/>Worker</span></a>
-<a href="DynamicClusterPool.html#decreaseWorkersTasks" class="tsd-index-link tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-inherited"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-2048-path"></use><use href="#icon-2048-text"></use></svg><span>decrease<wbr/>Workers<wbr/>Tasks</span></a>
 <a href="DynamicClusterPool.html#destroy" class="tsd-index-link tsd-kind-method tsd-parent-kind-class tsd-is-inherited"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-2048-path"></use><use href="#icon-2048-text"></use></svg><span>destroy</span></a>
 <a href="DynamicClusterPool.html#destroyWorker" class="tsd-index-link tsd-kind-method tsd-parent-kind-class tsd-is-inherited"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-2048-path"></use><use href="#icon-2048-text"></use></svg><span>destroy<wbr/>Worker</span></a>
 <a href="DynamicClusterPool.html#execute" class="tsd-index-link tsd-kind-method tsd-parent-kind-class tsd-is-inherited"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-2048-path"></use><use href="#icon-2048-text"></use></svg><span>execute</span></a>
 <a href="DynamicClusterPool.html#findFreeWorker" class="tsd-index-link tsd-kind-method tsd-parent-kind-class tsd-is-inherited"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-2048-path"></use><use href="#icon-2048-text"></use></svg><span>find<wbr/>Free<wbr/>Worker</span></a>
+<a href="DynamicClusterPool.html#getWorkerAverageTasksRunTime" class="tsd-index-link tsd-kind-method tsd-parent-kind-class tsd-is-inherited"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-2048-path"></use><use href="#icon-2048-text"></use></svg><span>get<wbr/>Worker<wbr/>Average<wbr/>Tasks<wbr/>Run<wbr/>Time</span></a>
 <a href="DynamicClusterPool.html#getWorkerIndex" class="tsd-index-link tsd-kind-method tsd-parent-kind-class tsd-is-inherited"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-2048-path"></use><use href="#icon-2048-text"></use></svg><span>get<wbr/>Worker<wbr/>Index</span></a>
 <a href="DynamicClusterPool.html#getWorkerRunningTasks" class="tsd-index-link tsd-kind-method tsd-parent-kind-class tsd-is-inherited"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-2048-path"></use><use href="#icon-2048-text"></use></svg><span>get<wbr/>Worker<wbr/>Running<wbr/>Tasks</span></a>
-<a href="DynamicClusterPool.html#increaseWorkersTask" class="tsd-index-link tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-inherited"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-2048-path"></use><use href="#icon-2048-text"></use></svg><span>increase<wbr/>Workers<wbr/>Task</span></a>
+<a href="DynamicClusterPool.html#initWorkerTasksUsage" class="tsd-index-link tsd-kind-method tsd-parent-kind-class tsd-is-inherited"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-2048-path"></use><use href="#icon-2048-text"></use></svg><span>init<wbr/>Worker<wbr/>Tasks<wbr/>Usage</span></a>
 <a href="DynamicClusterPool.html#internalExecute" class="tsd-index-link tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-inherited"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-2048-path"></use><use href="#icon-2048-text"></use></svg><span>internal<wbr/>Execute</span></a>
 <a href="DynamicClusterPool.html#internalGetBusyStatus" class="tsd-index-link tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-inherited"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-2048-path"></use><use href="#icon-2048-text"></use></svg><span>internal<wbr/>Get<wbr/>Busy<wbr/>Status</span></a>
 <a href="DynamicClusterPool.html#isMain" class="tsd-index-link tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-inherited"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-2048-path"></use><use href="#icon-2048-text"></use></svg><span>is<wbr/>Main</span></a>
@@ -131,7 +133,7 @@ When the maximum number of workers is reached, an event is emitted. If you want
 <h4 class="tsd-returns-title">Returns <a href="DynamicClusterPool.html" class="tsd-signature-type" data-tsd-kind="Class">DynamicClusterPool</a><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type" data-tsd-kind="Type parameter">Data</span><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type" data-tsd-kind="Type parameter">Response</span><span class="tsd-signature-symbol">&gt;</span></h4><aside class="tsd-sources">
 <p>Overrides <a href="FixedClusterPool.html">FixedClusterPool</a>.<a href="FixedClusterPool.html#constructor">constructor</a></p>
 <ul>
-<li>Defined in <a href="https://github.com/jerome-benoit/poolifier/blob/40ad1d2/src/pools/cluster/dynamic.ts#L28">src/pools/cluster/dynamic.ts:28</a></li></ul></aside></li></ul></section></section>
+<li>Defined in <a href="https://github.com/poolifier/poolifier/blob/3f4ea67/src/pools/cluster/dynamic.ts#L28">src/pools/cluster/dynamic.ts:28</a></li></ul></aside></li></ul></section></section>
 <section class="tsd-panel-group tsd-member-group">
 <h2>Properties</h2>
 <section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-class tsd-is-inherited"><a id="emitter" class="tsd-anchor"></a>
@@ -141,13 +143,13 @@ When the maximum number of workers is reached, an event is emitted. If you want
 <h3>Inherit Doc</h3></div><aside class="tsd-sources">
 <p>Inherited from <a href="FixedClusterPool.html">FixedClusterPool</a>.<a href="FixedClusterPool.html#emitter">emitter</a></p>
 <ul>
-<li>Defined in <a href="https://github.com/jerome-benoit/poolifier/blob/40ad1d2/src/pools/abstract-pool.ts#L36">src/pools/abstract-pool.ts:36</a></li></ul></aside></section>
+<li>Defined in <a href="https://github.com/poolifier/poolifier/blob/3f4ea67/src/pools/abstract-pool.ts#L42">src/pools/abstract-pool.ts:42</a></li></ul></aside></section>
 <section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-class tsd-is-inherited"><a id="filePath" class="tsd-anchor"></a>
 <h3 class="tsd-anchor-link"><code class="tsd-tag ts-flagReadonly">Readonly</code> <span>file<wbr/>Path</span><a href="#filePath" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></h3>
 <div class="tsd-signature">file<wbr/>Path<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">string</span></div><aside class="tsd-sources">
 <p>Inherited from <a href="FixedClusterPool.html">FixedClusterPool</a>.<a href="FixedClusterPool.html#filePath">filePath</a></p>
 <ul>
-<li>Defined in <a href="https://github.com/jerome-benoit/poolifier/blob/40ad1d2/src/pools/abstract-pool.ts#L79">src/pools/abstract-pool.ts:79</a></li></ul></aside></section>
+<li>Defined in <a href="https://github.com/poolifier/poolifier/blob/3f4ea67/src/pools/abstract-pool.ts#L85">src/pools/abstract-pool.ts:85</a></li></ul></aside></section>
 <section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-class tsd-is-inherited"><a id="max" class="tsd-anchor"></a>
 <h3 class="tsd-anchor-link"><code class="tsd-tag ts-flagReadonly">Readonly</code> <span>max</span><a href="#max" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></h3>
 <div class="tsd-signature">max<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">number</span></div>
@@ -155,7 +157,7 @@ When the maximum number of workers is reached, an event is emitted. If you want
 <h3>Inherit Doc</h3></div><aside class="tsd-sources">
 <p>Inherited from <a href="FixedClusterPool.html">FixedClusterPool</a>.<a href="FixedClusterPool.html#max">max</a></p>
 <ul>
-<li>Defined in <a href="https://github.com/jerome-benoit/poolifier/blob/40ad1d2/src/pools/cluster/dynamic.ts#L30">src/pools/cluster/dynamic.ts:30</a></li></ul></aside></section>
+<li>Defined in <a href="https://github.com/poolifier/poolifier/blob/3f4ea67/src/pools/cluster/dynamic.ts#L30">src/pools/cluster/dynamic.ts:30</a></li></ul></aside></section>
 <section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-class tsd-is-protected tsd-is-inherited"><a id="nextMessageId" class="tsd-anchor"></a>
 <h3 class="tsd-anchor-link"><code class="tsd-tag ts-flagProtected">Protected</code> <span>next<wbr/>Message<wbr/>Id</span><a href="#nextMessageId" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></h3>
 <div class="tsd-signature">next<wbr/>Message<wbr/>Id<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">number</span><span class="tsd-signature-symbol"> = 0</span></div>
@@ -163,19 +165,19 @@ When the maximum number of workers is reached, an event is emitted. If you want
 </div><aside class="tsd-sources">
 <p>Inherited from <a href="FixedClusterPool.html">FixedClusterPool</a>.<a href="FixedClusterPool.html#nextMessageId">nextMessageId</a></p>
 <ul>
-<li>Defined in <a href="https://github.com/jerome-benoit/poolifier/blob/40ad1d2/src/pools/abstract-pool.ts#L57">src/pools/abstract-pool.ts:57</a></li></ul></aside></section>
+<li>Defined in <a href="https://github.com/poolifier/poolifier/blob/3f4ea67/src/pools/abstract-pool.ts#L63">src/pools/abstract-pool.ts:63</a></li></ul></aside></section>
 <section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-class tsd-is-inherited"><a id="numberOfWorkers" class="tsd-anchor"></a>
 <h3 class="tsd-anchor-link"><code class="tsd-tag ts-flagReadonly">Readonly</code> <span>number<wbr/>Of<wbr/>Workers</span><a href="#numberOfWorkers" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></h3>
 <div class="tsd-signature">number<wbr/>Of<wbr/>Workers<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">number</span></div><aside class="tsd-sources">
 <p>Inherited from <a href="FixedClusterPool.html">FixedClusterPool</a>.<a href="FixedClusterPool.html#numberOfWorkers">numberOfWorkers</a></p>
 <ul>
-<li>Defined in <a href="https://github.com/jerome-benoit/poolifier/blob/40ad1d2/src/pools/abstract-pool.ts#L78">src/pools/abstract-pool.ts:78</a></li></ul></aside></section>
+<li>Defined in <a href="https://github.com/poolifier/poolifier/blob/3f4ea67/src/pools/abstract-pool.ts#L84">src/pools/abstract-pool.ts:84</a></li></ul></aside></section>
 <section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-class tsd-is-inherited"><a id="opts" class="tsd-anchor"></a>
 <h3 class="tsd-anchor-link"><code class="tsd-tag ts-flagReadonly">Readonly</code> <span>opts</span><a href="#opts" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></h3>
 <div class="tsd-signature">opts<span class="tsd-signature-symbol">:</span> <a href="../interfaces/ClusterPoolOptions.html" class="tsd-signature-type" data-tsd-kind="Interface">ClusterPoolOptions</a><span class="tsd-signature-symbol"> = {}</span></div><aside class="tsd-sources">
 <p>Inherited from <a href="FixedClusterPool.html">FixedClusterPool</a>.<a href="FixedClusterPool.html#opts">opts</a></p>
 <ul>
-<li>Defined in <a href="https://github.com/jerome-benoit/poolifier/blob/40ad1d2/src/pools/cluster/fixed.ts#L47">src/pools/cluster/fixed.ts:47</a></li></ul></aside></section>
+<li>Defined in <a href="https://github.com/poolifier/poolifier/blob/3f4ea67/src/pools/cluster/fixed.ts#L47">src/pools/cluster/fixed.ts:47</a></li></ul></aside></section>
 <section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-class tsd-is-protected tsd-is-inherited"><a id="promiseMap" class="tsd-anchor"></a>
 <h3 class="tsd-anchor-link"><code class="tsd-tag ts-flagProtected">Protected</code> <span>promise<wbr/>Map</span><a href="#promiseMap" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></h3>
 <div class="tsd-signature">promise<wbr/>Map<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">Map</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type">PromiseWorkerResponseWrapper</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">Worker</span><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type" data-tsd-kind="Type parameter">Response</span><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol"> = ...</span></div>
@@ -188,15 +190,7 @@ When the maximum number of workers is reached, an event is emitted. If you want
 </div><aside class="tsd-sources">
 <p>Inherited from <a href="FixedClusterPool.html">FixedClusterPool</a>.<a href="FixedClusterPool.html#promiseMap">promiseMap</a></p>
 <ul>
-<li>Defined in <a href="https://github.com/jerome-benoit/poolifier/blob/40ad1d2/src/pools/abstract-pool.ts#L49">src/pools/abstract-pool.ts:49</a></li></ul></aside></section>
-<section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-class tsd-is-inherited"><a id="tasks" class="tsd-anchor"></a>
-<h3 class="tsd-anchor-link"><code class="tsd-tag ts-flagReadonly">Readonly</code> <span>tasks</span><a href="#tasks" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></h3>
-<div class="tsd-signature">tasks<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">Map</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">Worker</span><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol"> = ...</span></div>
-<div class="tsd-comment tsd-typography">
-<h3>Inherit Doc</h3></div><aside class="tsd-sources">
-<p>Inherited from <a href="FixedClusterPool.html">FixedClusterPool</a>.<a href="FixedClusterPool.html#tasks">tasks</a></p>
-<ul>
-<li>Defined in <a href="https://github.com/jerome-benoit/poolifier/blob/40ad1d2/src/pools/abstract-pool.ts#L33">src/pools/abstract-pool.ts:33</a></li></ul></aside></section>
+<li>Defined in <a href="https://github.com/poolifier/poolifier/blob/3f4ea67/src/pools/abstract-pool.ts#L55">src/pools/abstract-pool.ts:55</a></li></ul></aside></section>
 <section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-class tsd-is-protected tsd-is-inherited"><a id="workerChoiceStrategyContext" class="tsd-anchor"></a>
 <h3 class="tsd-anchor-link"><code class="tsd-tag ts-flagProtected">Protected</code> <span>worker<wbr/>Choice<wbr/>Strategy<wbr/>Context</span><a href="#workerChoiceStrategyContext" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></h3>
 <div class="tsd-signature">worker<wbr/>Choice<wbr/>Strategy<wbr/>Context<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">WorkerChoiceStrategyContext</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">Worker</span><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type" data-tsd-kind="Type parameter">Data</span><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type" data-tsd-kind="Type parameter">Response</span><span class="tsd-signature-symbol">&gt;</span></div>
@@ -205,7 +199,7 @@ When the maximum number of workers is reached, an event is emitted. If you want
 </div><aside class="tsd-sources">
 <p>Inherited from <a href="FixedClusterPool.html">FixedClusterPool</a>.<a href="FixedClusterPool.html#workerChoiceStrategyContext">workerChoiceStrategyContext</a></p>
 <ul>
-<li>Defined in <a href="https://github.com/jerome-benoit/poolifier/blob/40ad1d2/src/pools/abstract-pool.ts#L64">src/pools/abstract-pool.ts:64</a></li></ul></aside></section>
+<li>Defined in <a href="https://github.com/poolifier/poolifier/blob/3f4ea67/src/pools/abstract-pool.ts#L70">src/pools/abstract-pool.ts:70</a></li></ul></aside></section>
 <section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-class tsd-is-inherited"><a id="workers" class="tsd-anchor"></a>
 <h3 class="tsd-anchor-link"><code class="tsd-tag ts-flagReadonly">Readonly</code> <span>workers</span><a href="#workers" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></h3>
 <div class="tsd-signature">workers<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">Worker</span><span class="tsd-signature-symbol">[]</span><span class="tsd-signature-symbol"> = []</span></div>
@@ -213,7 +207,15 @@ When the maximum number of workers is reached, an event is emitted. If you want
 <h3>Inherit Doc</h3></div><aside class="tsd-sources">
 <p>Inherited from <a href="FixedClusterPool.html">FixedClusterPool</a>.<a href="FixedClusterPool.html#workers">workers</a></p>
 <ul>
-<li>Defined in <a href="https://github.com/jerome-benoit/poolifier/blob/40ad1d2/src/pools/abstract-pool.ts#L30">src/pools/abstract-pool.ts:30</a></li></ul></aside></section></section>
+<li>Defined in <a href="https://github.com/poolifier/poolifier/blob/3f4ea67/src/pools/abstract-pool.ts#L33">src/pools/abstract-pool.ts:33</a></li></ul></aside></section>
+<section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-class tsd-is-inherited"><a id="workersTasksUsage" class="tsd-anchor"></a>
+<h3 class="tsd-anchor-link"><code class="tsd-tag ts-flagReadonly">Readonly</code> <span>workers<wbr/>Tasks<wbr/>Usage</span><a href="#workersTasksUsage" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></h3>
+<div class="tsd-signature">workers<wbr/>Tasks<wbr/>Usage<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">Map</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">Worker</span><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type">TasksUsage</span><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol"> = ...</span></div>
+<div class="tsd-comment tsd-typography">
+<h3>Inherit Doc</h3></div><aside class="tsd-sources">
+<p>Inherited from <a href="FixedClusterPool.html">FixedClusterPool</a>.<a href="FixedClusterPool.html#workersTasksUsage">workersTasksUsage</a></p>
+<ul>
+<li>Defined in <a href="https://github.com/poolifier/poolifier/blob/3f4ea67/src/pools/abstract-pool.ts#L36">src/pools/abstract-pool.ts:36</a></li></ul></aside></section></section>
 <section class="tsd-panel-group tsd-member-group">
 <h2>Accessors</h2>
 <section class="tsd-panel tsd-member tsd-kind-accessor tsd-parent-kind-class"><a id="busy" class="tsd-anchor"></a>
@@ -226,7 +228,7 @@ When the maximum number of workers is reached, an event is emitted. If you want
 <h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">boolean</span></h4><aside class="tsd-sources">
 <p>Overrides FixedClusterPool.busy</p>
 <ul>
-<li>Defined in <a href="https://github.com/jerome-benoit/poolifier/blob/40ad1d2/src/pools/cluster/dynamic.ts#L43">src/pools/cluster/dynamic.ts:43</a></li></ul></aside></li></ul></section>
+<li>Defined in <a href="https://github.com/poolifier/poolifier/blob/3f4ea67/src/pools/cluster/dynamic.ts#L43">src/pools/cluster/dynamic.ts:43</a></li></ul></aside></li></ul></section>
 <section class="tsd-panel tsd-member tsd-kind-accessor tsd-parent-kind-class tsd-is-inherited"><a id="numberOfRunningTasks" class="tsd-anchor"></a>
 <h3 class="tsd-anchor-link"><span>number<wbr/>Of<wbr/>Running<wbr/>Tasks</span><a href="#numberOfRunningTasks" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></h3>
 <ul class="tsd-signatures tsd-kind-accessor tsd-parent-kind-class tsd-is-inherited">
@@ -237,7 +239,7 @@ When the maximum number of workers is reached, an event is emitted. If you want
 <h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">number</span></h4><aside class="tsd-sources">
 <p>Inherited from FixedClusterPool.numberOfRunningTasks</p>
 <ul>
-<li>Defined in <a href="https://github.com/jerome-benoit/poolifier/blob/40ad1d2/src/pools/abstract-pool.ts#L150">src/pools/abstract-pool.ts:150</a></li></ul></aside></li></ul></section>
+<li>Defined in <a href="https://github.com/poolifier/poolifier/blob/3f4ea67/src/pools/abstract-pool.ts#L156">src/pools/abstract-pool.ts:156</a></li></ul></aside></li></ul></section>
 <section class="tsd-panel tsd-member tsd-kind-accessor tsd-parent-kind-class"><a id="type" class="tsd-anchor"></a>
 <h3 class="tsd-anchor-link"><span>type</span><a href="#type" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></h3>
 <ul class="tsd-signatures tsd-kind-accessor tsd-parent-kind-class">
@@ -248,9 +250,32 @@ When the maximum number of workers is reached, an event is emitted. If you want
 <h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">PoolType</span></h4><aside class="tsd-sources">
 <p>Overrides FixedClusterPool.type</p>
 <ul>
-<li>Defined in <a href="https://github.com/jerome-benoit/poolifier/blob/40ad1d2/src/pools/cluster/dynamic.ts#L38">src/pools/cluster/dynamic.ts:38</a></li></ul></aside></li></ul></section></section>
+<li>Defined in <a href="https://github.com/poolifier/poolifier/blob/3f4ea67/src/pools/cluster/dynamic.ts#L38">src/pools/cluster/dynamic.ts:38</a></li></ul></aside></li></ul></section></section>
 <section class="tsd-panel-group tsd-member-group">
 <h2>Methods</h2>
+<section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-inherited"><a id="afterPromiseWorkerResponseHook" class="tsd-anchor"></a>
+<h3 class="tsd-anchor-link"><code class="tsd-tag ts-flagProtected">Protected</code> <span>after<wbr/>Promise<wbr/>Worker<wbr/>Response<wbr/>Hook</span><a href="#afterPromiseWorkerResponseHook" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></h3>
+<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-inherited">
+<li class="tsd-signature tsd-anchor-link" id="afterPromiseWorkerResponseHook.afterPromiseWorkerResponseHook-1">after<wbr/>Promise<wbr/>Worker<wbr/>Response<wbr/>Hook<span class="tsd-signature-symbol">(</span>message<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">MessageValue</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type" data-tsd-kind="Type parameter">Response</span><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type">unknown</span><span class="tsd-signature-symbol">&gt;</span>, promise<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">PromiseWorkerResponseWrapper</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">Worker</span><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type" data-tsd-kind="Type parameter">Response</span><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">void</span><a href="#afterPromiseWorkerResponseHook.afterPromiseWorkerResponseHook-1" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></li>
+<li class="tsd-description">
+<div class="tsd-comment tsd-typography"><p>Hook executed after the worker task promise resolution.
+Can be overridden.</p>
+</div>
+<div class="tsd-parameters">
+<h4 class="tsd-parameters-title">Parameters</h4>
+<ul class="tsd-parameter-list">
+<li>
+<h5>message: <span class="tsd-signature-type">MessageValue</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type" data-tsd-kind="Type parameter">Response</span><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type">unknown</span><span class="tsd-signature-symbol">&gt;</span></h5>
+<div class="tsd-comment tsd-typography"><p>The received message.</p>
+</div></li>
+<li>
+<h5>promise: <span class="tsd-signature-type">PromiseWorkerResponseWrapper</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">Worker</span><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type" data-tsd-kind="Type parameter">Response</span><span class="tsd-signature-symbol">&gt;</span></h5>
+<div class="tsd-comment tsd-typography"><p>The Promise response.</p>
+</div></li></ul></div>
+<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">void</span></h4><aside class="tsd-sources">
+<p>Inherited from <a href="FixedClusterPool.html">FixedClusterPool</a>.<a href="FixedClusterPool.html#afterPromiseWorkerResponseHook">afterPromiseWorkerResponseHook</a></p>
+<ul>
+<li>Defined in <a href="https://github.com/poolifier/poolifier/blob/3f4ea67/src/pools/abstract-pool.ts#L263">src/pools/abstract-pool.ts:263</a></li></ul></aside></li></ul></section>
 <section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-inherited"><a id="afterWorkerSetup" class="tsd-anchor"></a>
 <h3 class="tsd-anchor-link"><code class="tsd-tag ts-flagProtected">Protected</code> <span>after<wbr/>Worker<wbr/>Setup</span><a href="#afterWorkerSetup" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></h3>
 <ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-inherited">
@@ -266,13 +291,32 @@ When the maximum number of workers is reached, an event is emitted. If you want
 <h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">void</span></h4><aside class="tsd-sources">
 <p>Inherited from <a href="FixedClusterPool.html">FixedClusterPool</a>.<a href="FixedClusterPool.html#afterWorkerSetup">afterWorkerSetup</a></p>
 <ul>
-<li>Defined in <a href="https://github.com/jerome-benoit/poolifier/blob/40ad1d2/src/pools/cluster/fixed.ts#L89">src/pools/cluster/fixed.ts:89</a></li></ul></aside></li></ul></section>
+<li>Defined in <a href="https://github.com/poolifier/poolifier/blob/3f4ea67/src/pools/cluster/fixed.ts#L89">src/pools/cluster/fixed.ts:89</a></li></ul></aside></li></ul></section>
+<section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-inherited"><a id="beforePromiseWorkerResponseHook" class="tsd-anchor"></a>
+<h3 class="tsd-anchor-link"><code class="tsd-tag ts-flagProtected">Protected</code> <span>before<wbr/>Promise<wbr/>Worker<wbr/>Response<wbr/>Hook</span><a href="#beforePromiseWorkerResponseHook" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></h3>
+<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-inherited">
+<li class="tsd-signature tsd-anchor-link" id="beforePromiseWorkerResponseHook.beforePromiseWorkerResponseHook-1">before<wbr/>Promise<wbr/>Worker<wbr/>Response<wbr/>Hook<span class="tsd-signature-symbol">(</span>worker<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Worker</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">void</span><a href="#beforePromiseWorkerResponseHook.beforePromiseWorkerResponseHook-1" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></li>
+<li class="tsd-description">
+<div class="tsd-comment tsd-typography"><p>Hook executed before the worker task promise resolution.
+Can be overridden.</p>
+</div>
+<div class="tsd-parameters">
+<h4 class="tsd-parameters-title">Parameters</h4>
+<ul class="tsd-parameter-list">
+<li>
+<h5>worker: <span class="tsd-signature-type">Worker</span></h5>
+<div class="tsd-comment tsd-typography"><p>The worker.</p>
+</div></li></ul></div>
+<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">void</span></h4><aside class="tsd-sources">
+<p>Inherited from <a href="FixedClusterPool.html">FixedClusterPool</a>.<a href="FixedClusterPool.html#beforePromiseWorkerResponseHook">beforePromiseWorkerResponseHook</a></p>
+<ul>
+<li>Defined in <a href="https://github.com/poolifier/poolifier/blob/3f4ea67/src/pools/abstract-pool.ts#L252">src/pools/abstract-pool.ts:252</a></li></ul></aside></li></ul></section>
 <section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-inherited"><a id="chooseWorker" class="tsd-anchor"></a>
 <h3 class="tsd-anchor-link"><code class="tsd-tag ts-flagProtected">Protected</code> <span>choose<wbr/>Worker</span><a href="#chooseWorker" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></h3>
 <ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-inherited">
 <li class="tsd-signature tsd-anchor-link" id="chooseWorker.chooseWorker-1">choose<wbr/>Worker<span class="tsd-signature-symbol">(</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Worker</span><a href="#chooseWorker.chooseWorker-1" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></li>
 <li class="tsd-description">
-<div class="tsd-comment tsd-typography"><p>Choose a worker for the next task.</p>
+<div class="tsd-comment tsd-typography"><p>Chooses a worker for the next task.</p>
 <p>The default implementation uses a round robin algorithm to distribute the load.</p>
 
 <h3>Returns</h3><p>Worker.</p>
@@ -280,7 +324,7 @@ When the maximum number of workers is reached, an event is emitted. If you want
 <h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">Worker</span></h4><aside class="tsd-sources">
 <p>Inherited from <a href="FixedClusterPool.html">FixedClusterPool</a>.<a href="FixedClusterPool.html#chooseWorker">chooseWorker</a></p>
 <ul>
-<li>Defined in <a href="https://github.com/jerome-benoit/poolifier/blob/40ad1d2/src/pools/abstract-pool.ts#L283">src/pools/abstract-pool.ts:283</a></li></ul></aside></li></ul></section>
+<li>Defined in <a href="https://github.com/poolifier/poolifier/blob/3f4ea67/src/pools/abstract-pool.ts#L290">src/pools/abstract-pool.ts:290</a></li></ul></aside></li></ul></section>
 <section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-inherited"><a id="createAndSetupWorker" class="tsd-anchor"></a>
 <h3 class="tsd-anchor-link"><code class="tsd-tag ts-flagProtected">Protected</code> <span>create<wbr/>And<wbr/>Setup<wbr/>Worker</span><a href="#createAndSetupWorker" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></h3>
 <ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-inherited">
@@ -293,7 +337,7 @@ When the maximum number of workers is reached, an event is emitted. If you want
 <h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">Worker</span></h4><aside class="tsd-sources">
 <p>Inherited from <a href="FixedClusterPool.html">FixedClusterPool</a>.<a href="FixedClusterPool.html#createAndSetupWorker">createAndSetupWorker</a></p>
 <ul>
-<li>Defined in <a href="https://github.com/jerome-benoit/poolifier/blob/40ad1d2/src/pools/abstract-pool.ts#L337">src/pools/abstract-pool.ts:337</a></li></ul></aside></li></ul></section>
+<li>Defined in <a href="https://github.com/poolifier/poolifier/blob/3f4ea67/src/pools/abstract-pool.ts#L344">src/pools/abstract-pool.ts:344</a></li></ul></aside></li></ul></section>
 <section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-inherited"><a id="createWorker" class="tsd-anchor"></a>
 <h3 class="tsd-anchor-link"><code class="tsd-tag ts-flagProtected">Protected</code> <span>create<wbr/>Worker</span><a href="#createWorker" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></h3>
 <ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-inherited">
@@ -304,25 +348,7 @@ When the maximum number of workers is reached, an event is emitted. If you want
 <h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">Worker</span></h4><aside class="tsd-sources">
 <p>Inherited from <a href="FixedClusterPool.html">FixedClusterPool</a>.<a href="FixedClusterPool.html#createWorker">createWorker</a></p>
 <ul>
-<li>Defined in <a href="https://github.com/jerome-benoit/poolifier/blob/40ad1d2/src/pools/cluster/fixed.ts#L84">src/pools/cluster/fixed.ts:84</a></li></ul></aside></li></ul></section>
-<section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-inherited"><a id="decreaseWorkersTasks" class="tsd-anchor"></a>
-<h3 class="tsd-anchor-link"><code class="tsd-tag ts-flagProtected">Protected</code> <span>decrease<wbr/>Workers<wbr/>Tasks</span><a href="#decreaseWorkersTasks" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></h3>
-<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-inherited">
-<li class="tsd-signature tsd-anchor-link" id="decreaseWorkersTasks.decreaseWorkersTasks-1">decrease<wbr/>Workers<wbr/>Tasks<span class="tsd-signature-symbol">(</span>worker<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Worker</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">void</span><a href="#decreaseWorkersTasks.decreaseWorkersTasks-1" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></li>
-<li class="tsd-description">
-<div class="tsd-comment tsd-typography"><p>Decrease the number of tasks that the given worker has applied.</p>
-</div>
-<div class="tsd-parameters">
-<h4 class="tsd-parameters-title">Parameters</h4>
-<ul class="tsd-parameter-list">
-<li>
-<h5>worker: <span class="tsd-signature-type">Worker</span></h5>
-<div class="tsd-comment tsd-typography"><p>Worker whose tasks are decreased.</p>
-</div></li></ul></div>
-<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">void</span></h4><aside class="tsd-sources">
-<p>Inherited from <a href="FixedClusterPool.html">FixedClusterPool</a>.<a href="FixedClusterPool.html#decreaseWorkersTasks">decreaseWorkersTasks</a></p>
-<ul>
-<li>Defined in <a href="https://github.com/jerome-benoit/poolifier/blob/40ad1d2/src/pools/abstract-pool.ts#L246">src/pools/abstract-pool.ts:246</a></li></ul></aside></li></ul></section>
+<li>Defined in <a href="https://github.com/poolifier/poolifier/blob/3f4ea67/src/pools/cluster/fixed.ts#L84">src/pools/cluster/fixed.ts:84</a></li></ul></aside></li></ul></section>
 <section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class tsd-is-inherited"><a id="destroy" class="tsd-anchor"></a>
 <h3 class="tsd-anchor-link"><span>destroy</span><a href="#destroy" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></h3>
 <ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class tsd-is-inherited">
@@ -333,7 +359,7 @@ When the maximum number of workers is reached, an event is emitted. If you want
 <h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">void</span><span class="tsd-signature-symbol">&gt;</span></h4><aside class="tsd-sources">
 <p>Inherited from <a href="FixedClusterPool.html">FixedClusterPool</a>.<a href="FixedClusterPool.html#destroy">destroy</a></p>
 <ul>
-<li>Defined in <a href="https://github.com/jerome-benoit/poolifier/blob/40ad1d2/src/pools/abstract-pool.ts#L208">src/pools/abstract-pool.ts:208</a></li></ul></aside></li></ul></section>
+<li>Defined in <a href="https://github.com/poolifier/poolifier/blob/3f4ea67/src/pools/abstract-pool.ts#L222">src/pools/abstract-pool.ts:222</a></li></ul></aside></li></ul></section>
 <section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class tsd-is-inherited"><a id="destroyWorker" class="tsd-anchor"></a>
 <h3 class="tsd-anchor-link"><span>destroy<wbr/>Worker</span><a href="#destroyWorker" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></h3>
 <ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class tsd-is-inherited">
@@ -349,7 +375,7 @@ When the maximum number of workers is reached, an event is emitted. If you want
 <h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">void</span></h4><aside class="tsd-sources">
 <p>Inherited from <a href="FixedClusterPool.html">FixedClusterPool</a>.<a href="FixedClusterPool.html#destroyWorker">destroyWorker</a></p>
 <ul>
-<li>Defined in <a href="https://github.com/jerome-benoit/poolifier/blob/40ad1d2/src/pools/cluster/fixed.ts#L65">src/pools/cluster/fixed.ts:65</a></li></ul></aside></li></ul></section>
+<li>Defined in <a href="https://github.com/poolifier/poolifier/blob/3f4ea67/src/pools/cluster/fixed.ts#L65">src/pools/cluster/fixed.ts:65</a></li></ul></aside></li></ul></section>
 <section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class tsd-is-inherited"><a id="execute" class="tsd-anchor"></a>
 <h3 class="tsd-anchor-link"><span>execute</span><a href="#execute" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></h3>
 <ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class tsd-is-inherited">
@@ -365,7 +391,7 @@ When the maximum number of workers is reached, an event is emitted. If you want
 <h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type" data-tsd-kind="Type parameter">Response</span><span class="tsd-signature-symbol">&gt;</span></h4><aside class="tsd-sources">
 <p>Inherited from <a href="FixedClusterPool.html">FixedClusterPool</a>.<a href="FixedClusterPool.html#execute">execute</a></p>
 <ul>
-<li>Defined in <a href="https://github.com/jerome-benoit/poolifier/blob/40ad1d2/src/pools/abstract-pool.ts#L196">src/pools/abstract-pool.ts:196</a></li></ul></aside></li></ul></section>
+<li>Defined in <a href="https://github.com/poolifier/poolifier/blob/3f4ea67/src/pools/abstract-pool.ts#L210">src/pools/abstract-pool.ts:210</a></li></ul></aside></li></ul></section>
 <section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class tsd-is-inherited"><a id="findFreeWorker" class="tsd-anchor"></a>
 <h3 class="tsd-anchor-link"><span>find<wbr/>Free<wbr/>Worker</span><a href="#findFreeWorker" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></h3>
 <ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class tsd-is-inherited">
@@ -376,7 +402,23 @@ When the maximum number of workers is reached, an event is emitted. If you want
 <h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">false</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">Worker</span></h4><aside class="tsd-sources">
 <p>Inherited from <a href="FixedClusterPool.html">FixedClusterPool</a>.<a href="FixedClusterPool.html#findFreeWorker">findFreeWorker</a></p>
 <ul>
-<li>Defined in <a href="https://github.com/jerome-benoit/poolifier/blob/40ad1d2/src/pools/abstract-pool.ts#L185">src/pools/abstract-pool.ts:185</a></li></ul></aside></li></ul></section>
+<li>Defined in <a href="https://github.com/poolifier/poolifier/blob/3f4ea67/src/pools/abstract-pool.ts#L199">src/pools/abstract-pool.ts:199</a></li></ul></aside></li></ul></section>
+<section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class tsd-is-inherited"><a id="getWorkerAverageTasksRunTime" class="tsd-anchor"></a>
+<h3 class="tsd-anchor-link"><span>get<wbr/>Worker<wbr/>Average<wbr/>Tasks<wbr/>Run<wbr/>Time</span><a href="#getWorkerAverageTasksRunTime" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></h3>
+<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class tsd-is-inherited">
+<li class="tsd-signature tsd-anchor-link" id="getWorkerAverageTasksRunTime.getWorkerAverageTasksRunTime-1">get<wbr/>Worker<wbr/>Average<wbr/>Tasks<wbr/>Run<wbr/>Time<span class="tsd-signature-symbol">(</span>worker<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Worker</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">undefined</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">number</span><a href="#getWorkerAverageTasksRunTime.getWorkerAverageTasksRunTime-1" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></li>
+<li class="tsd-description">
+<div class="tsd-comment tsd-typography">
+<h3>Inherit Doc</h3></div>
+<div class="tsd-parameters">
+<h4 class="tsd-parameters-title">Parameters</h4>
+<ul class="tsd-parameter-list">
+<li>
+<h5>worker: <span class="tsd-signature-type">Worker</span></h5></li></ul></div>
+<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">undefined</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">number</span></h4><aside class="tsd-sources">
+<p>Inherited from <a href="FixedClusterPool.html">FixedClusterPool</a>.<a href="FixedClusterPool.html#getWorkerAverageTasksRunTime">getWorkerAverageTasksRunTime</a></p>
+<ul>
+<li>Defined in <a href="https://github.com/poolifier/poolifier/blob/3f4ea67/src/pools/abstract-pool.ts#L171">src/pools/abstract-pool.ts:171</a></li></ul></aside></li></ul></section>
 <section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class tsd-is-inherited"><a id="getWorkerIndex" class="tsd-anchor"></a>
 <h3 class="tsd-anchor-link"><span>get<wbr/>Worker<wbr/>Index</span><a href="#getWorkerIndex" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></h3>
 <ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class tsd-is-inherited">
@@ -392,7 +434,7 @@ When the maximum number of workers is reached, an event is emitted. If you want
 <h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">number</span></h4><aside class="tsd-sources">
 <p>Inherited from <a href="FixedClusterPool.html">FixedClusterPool</a>.<a href="FixedClusterPool.html#getWorkerIndex">getWorkerIndex</a></p>
 <ul>
-<li>Defined in <a href="https://github.com/jerome-benoit/poolifier/blob/40ad1d2/src/pools/abstract-pool.ts#L160">src/pools/abstract-pool.ts:160</a></li></ul></aside></li></ul></section>
+<li>Defined in <a href="https://github.com/poolifier/poolifier/blob/3f4ea67/src/pools/abstract-pool.ts#L161">src/pools/abstract-pool.ts:161</a></li></ul></aside></li></ul></section>
 <section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class tsd-is-inherited"><a id="getWorkerRunningTasks" class="tsd-anchor"></a>
 <h3 class="tsd-anchor-link"><span>get<wbr/>Worker<wbr/>Running<wbr/>Tasks</span><a href="#getWorkerRunningTasks" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></h3>
 <ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class tsd-is-inherited">
@@ -408,25 +450,25 @@ When the maximum number of workers is reached, an event is emitted. If you want
 <h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">undefined</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">number</span></h4><aside class="tsd-sources">
 <p>Inherited from <a href="FixedClusterPool.html">FixedClusterPool</a>.<a href="FixedClusterPool.html#getWorkerRunningTasks">getWorkerRunningTasks</a></p>
 <ul>
-<li>Defined in <a href="https://github.com/jerome-benoit/poolifier/blob/40ad1d2/src/pools/abstract-pool.ts#L155">src/pools/abstract-pool.ts:155</a></li></ul></aside></li></ul></section>
-<section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-inherited"><a id="increaseWorkersTask" class="tsd-anchor"></a>
-<h3 class="tsd-anchor-link"><code class="tsd-tag ts-flagProtected">Protected</code> <span>increase<wbr/>Workers<wbr/>Task</span><a href="#increaseWorkersTask" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></h3>
-<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-inherited">
-<li class="tsd-signature tsd-anchor-link" id="increaseWorkersTask.increaseWorkersTask-1">increase<wbr/>Workers<wbr/>Task<span class="tsd-signature-symbol">(</span>worker<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Worker</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">void</span><a href="#increaseWorkersTask.increaseWorkersTask-1" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></li>
+<li>Defined in <a href="https://github.com/poolifier/poolifier/blob/3f4ea67/src/pools/abstract-pool.ts#L166">src/pools/abstract-pool.ts:166</a></li></ul></aside></li></ul></section>
+<section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class tsd-is-inherited"><a id="initWorkerTasksUsage" class="tsd-anchor"></a>
+<h3 class="tsd-anchor-link"><span>init<wbr/>Worker<wbr/>Tasks<wbr/>Usage</span><a href="#initWorkerTasksUsage" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></h3>
+<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class tsd-is-inherited">
+<li class="tsd-signature tsd-anchor-link" id="initWorkerTasksUsage.initWorkerTasksUsage-1">init<wbr/>Worker<wbr/>Tasks<wbr/>Usage<span class="tsd-signature-symbol">(</span>worker<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Worker</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">void</span><a href="#initWorkerTasksUsage.initWorkerTasksUsage-1" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></li>
 <li class="tsd-description">
-<div class="tsd-comment tsd-typography"><p>Increase the number of tasks that the given worker has applied.</p>
+<div class="tsd-comment tsd-typography"><p>Initializes tasks usage statistics.</p>
 </div>
 <div class="tsd-parameters">
 <h4 class="tsd-parameters-title">Parameters</h4>
 <ul class="tsd-parameter-list">
 <li>
 <h5>worker: <span class="tsd-signature-type">Worker</span></h5>
-<div class="tsd-comment tsd-typography"><p>Worker whose tasks are increased.</p>
+<div class="tsd-comment tsd-typography"><p>The worker.</p>
 </div></li></ul></div>
 <h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">void</span></h4><aside class="tsd-sources">
-<p>Inherited from <a href="FixedClusterPool.html">FixedClusterPool</a>.<a href="FixedClusterPool.html#increaseWorkersTask">increaseWorkersTask</a></p>
+<p>Inherited from <a href="FixedClusterPool.html">FixedClusterPool</a>.<a href="FixedClusterPool.html#initWorkerTasksUsage">initWorkerTasksUsage</a></p>
 <ul>
-<li>Defined in <a href="https://github.com/jerome-benoit/poolifier/blob/40ad1d2/src/pools/abstract-pool.ts#L237">src/pools/abstract-pool.ts:237</a></li></ul></aside></li></ul></section>
+<li>Defined in <a href="https://github.com/poolifier/poolifier/blob/3f4ea67/src/pools/abstract-pool.ts#L470">src/pools/abstract-pool.ts:470</a></li></ul></aside></li></ul></section>
 <section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-inherited"><a id="internalExecute" class="tsd-anchor"></a>
 <h3 class="tsd-anchor-link"><code class="tsd-tag ts-flagProtected">Protected</code> <span>internal<wbr/>Execute</span><a href="#internalExecute" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></h3>
 <ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-inherited">
@@ -442,7 +484,7 @@ When the maximum number of workers is reached, an event is emitted. If you want
 <h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type" data-tsd-kind="Type parameter">Response</span><span class="tsd-signature-symbol">&gt;</span></h4><aside class="tsd-sources">
 <p>Inherited from <a href="FixedClusterPool.html">FixedClusterPool</a>.<a href="FixedClusterPool.html#internalExecute">internalExecute</a></p>
 <ul>
-<li>Defined in <a href="https://github.com/jerome-benoit/poolifier/blob/40ad1d2/src/pools/abstract-pool.ts#L308">src/pools/abstract-pool.ts:308</a></li></ul></aside></li></ul></section>
+<li>Defined in <a href="https://github.com/poolifier/poolifier/blob/3f4ea67/src/pools/abstract-pool.ts#L315">src/pools/abstract-pool.ts:315</a></li></ul></aside></li></ul></section>
 <section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-inherited"><a id="internalGetBusyStatus" class="tsd-anchor"></a>
 <h3 class="tsd-anchor-link"><code class="tsd-tag ts-flagProtected">Protected</code> <span>internal<wbr/>Get<wbr/>Busy<wbr/>Status</span><a href="#internalGetBusyStatus" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></h3>
 <ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-inherited">
@@ -451,7 +493,7 @@ When the maximum number of workers is reached, an event is emitted. If you want
 <h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">boolean</span></h4><aside class="tsd-sources">
 <p>Inherited from <a href="FixedClusterPool.html">FixedClusterPool</a>.<a href="FixedClusterPool.html#internalGetBusyStatus">internalGetBusyStatus</a></p>
 <ul>
-<li>Defined in <a href="https://github.com/jerome-benoit/poolifier/blob/40ad1d2/src/pools/abstract-pool.ts#L177">src/pools/abstract-pool.ts:177</a></li></ul></aside></li></ul></section>
+<li>Defined in <a href="https://github.com/poolifier/poolifier/blob/3f4ea67/src/pools/abstract-pool.ts#L191">src/pools/abstract-pool.ts:191</a></li></ul></aside></li></ul></section>
 <section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-inherited"><a id="isMain" class="tsd-anchor"></a>
 <h3 class="tsd-anchor-link"><code class="tsd-tag ts-flagProtected">Protected</code> <span>is<wbr/>Main</span><a href="#isMain" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></h3>
 <ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-inherited">
@@ -462,7 +504,7 @@ When the maximum number of workers is reached, an event is emitted. If you want
 <h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">boolean</span></h4><aside class="tsd-sources">
 <p>Inherited from <a href="FixedClusterPool.html">FixedClusterPool</a>.<a href="FixedClusterPool.html#isMain">isMain</a></p>
 <ul>
-<li>Defined in <a href="https://github.com/jerome-benoit/poolifier/blob/40ad1d2/src/pools/cluster/fixed.ts#L60">src/pools/cluster/fixed.ts:60</a></li></ul></aside></li></ul></section>
+<li>Defined in <a href="https://github.com/poolifier/poolifier/blob/3f4ea67/src/pools/cluster/fixed.ts#L60">src/pools/cluster/fixed.ts:60</a></li></ul></aside></li></ul></section>
 <section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class tsd-is-inherited"><a id="registerWorkerMessageListener" class="tsd-anchor"></a>
 <h3 class="tsd-anchor-link"><span>register<wbr/>Worker<wbr/>Message<wbr/>Listener</span><a href="#registerWorkerMessageListener" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></h3>
 <ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class tsd-is-inherited">
@@ -496,7 +538,7 @@ When the maximum number of workers is reached, an event is emitted. If you want
 <h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">void</span></h4><aside class="tsd-sources">
 <p>Inherited from <a href="FixedClusterPool.html">FixedClusterPool</a>.<a href="FixedClusterPool.html#registerWorkerMessageListener">registerWorkerMessageListener</a></p>
 <ul>
-<li>Defined in <a href="https://github.com/jerome-benoit/poolifier/blob/40ad1d2/src/pools/cluster/fixed.ts#L76">src/pools/cluster/fixed.ts:76</a></li></ul></aside></li></ul></section>
+<li>Defined in <a href="https://github.com/poolifier/poolifier/blob/3f4ea67/src/pools/cluster/fixed.ts#L76">src/pools/cluster/fixed.ts:76</a></li></ul></aside></li></ul></section>
 <section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-inherited"><a id="removeWorker" class="tsd-anchor"></a>
 <h3 class="tsd-anchor-link"><code class="tsd-tag ts-flagProtected">Protected</code> <span>remove<wbr/>Worker</span><a href="#removeWorker" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></h3>
 <ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-inherited">
@@ -514,7 +556,7 @@ When the maximum number of workers is reached, an event is emitted. If you want
 <h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">void</span></h4><aside class="tsd-sources">
 <p>Inherited from <a href="FixedClusterPool.html">FixedClusterPool</a>.<a href="FixedClusterPool.html#removeWorker">removeWorker</a></p>
 <ul>
-<li>Defined in <a href="https://github.com/jerome-benoit/poolifier/blob/40ad1d2/src/pools/abstract-pool.ts#L270">src/pools/abstract-pool.ts:270</a></li></ul></aside></li></ul></section>
+<li>Defined in <a href="https://github.com/poolifier/poolifier/blob/3f4ea67/src/pools/abstract-pool.ts#L277">src/pools/abstract-pool.ts:277</a></li></ul></aside></li></ul></section>
 <section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-inherited"><a id="sendToWorker" class="tsd-anchor"></a>
 <h3 class="tsd-anchor-link"><code class="tsd-tag ts-flagProtected">Protected</code> <span>send<wbr/>To<wbr/>Worker</span><a href="#sendToWorker" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></h3>
 <ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-inherited">
@@ -532,11 +574,11 @@ When the maximum number of workers is reached, an event is emitted. If you want
 <h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">void</span></h4><aside class="tsd-sources">
 <p>Inherited from <a href="FixedClusterPool.html">FixedClusterPool</a>.<a href="FixedClusterPool.html#sendToWorker">sendToWorker</a></p>
 <ul>
-<li>Defined in <a href="https://github.com/jerome-benoit/poolifier/blob/40ad1d2/src/pools/cluster/fixed.ts#L71">src/pools/cluster/fixed.ts:71</a></li></ul></aside></li></ul></section>
+<li>Defined in <a href="https://github.com/poolifier/poolifier/blob/3f4ea67/src/pools/cluster/fixed.ts#L71">src/pools/cluster/fixed.ts:71</a></li></ul></aside></li></ul></section>
 <section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class tsd-is-inherited"><a id="setWorkerChoiceStrategy" class="tsd-anchor"></a>
 <h3 class="tsd-anchor-link"><span>set<wbr/>Worker<wbr/>Choice<wbr/>Strategy</span><a href="#setWorkerChoiceStrategy" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></h3>
 <ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class tsd-is-inherited">
-<li class="tsd-signature tsd-anchor-link" id="setWorkerChoiceStrategy.setWorkerChoiceStrategy-1">set<wbr/>Worker<wbr/>Choice<wbr/>Strategy<span class="tsd-signature-symbol">(</span>workerChoiceStrategy<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">&quot;ROUND_ROBIN&quot;</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">&quot;LESS_RECENTLY_USED&quot;</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">void</span><a href="#setWorkerChoiceStrategy.setWorkerChoiceStrategy-1" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></li>
+<li class="tsd-signature tsd-anchor-link" id="setWorkerChoiceStrategy.setWorkerChoiceStrategy-1">set<wbr/>Worker<wbr/>Choice<wbr/>Strategy<span class="tsd-signature-symbol">(</span>workerChoiceStrategy<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">&quot;ROUND_ROBIN&quot;</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">&quot;LESS_RECENTLY_USED&quot;</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">&quot;FAIR_SHARE&quot;</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">&quot;WEIGHTED_ROUND_ROBIN&quot;</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">void</span><a href="#setWorkerChoiceStrategy.setWorkerChoiceStrategy-1" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></li>
 <li class="tsd-description">
 <div class="tsd-comment tsd-typography">
 <h3>Inherit Doc</h3></div>
@@ -544,11 +586,11 @@ When the maximum number of workers is reached, an event is emitted. If you want
 <h4 class="tsd-parameters-title">Parameters</h4>
 <ul class="tsd-parameter-list">
 <li>
-<h5>workerChoiceStrategy: <span class="tsd-signature-type">&quot;ROUND_ROBIN&quot;</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">&quot;LESS_RECENTLY_USED&quot;</span></h5></li></ul></div>
+<h5>workerChoiceStrategy: <span class="tsd-signature-type">&quot;ROUND_ROBIN&quot;</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">&quot;LESS_RECENTLY_USED&quot;</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">&quot;FAIR_SHARE&quot;</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">&quot;WEIGHTED_ROUND_ROBIN&quot;</span></h5></li></ul></div>
 <h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">void</span></h4><aside class="tsd-sources">
 <p>Inherited from <a href="FixedClusterPool.html">FixedClusterPool</a>.<a href="FixedClusterPool.html#setWorkerChoiceStrategy">setWorkerChoiceStrategy</a></p>
 <ul>
-<li>Defined in <a href="https://github.com/jerome-benoit/poolifier/blob/40ad1d2/src/pools/abstract-pool.ts#L165">src/pools/abstract-pool.ts:165</a></li></ul></aside></li></ul></section>
+<li>Defined in <a href="https://github.com/poolifier/poolifier/blob/3f4ea67/src/pools/abstract-pool.ts#L176">src/pools/abstract-pool.ts:176</a></li></ul></aside></li></ul></section>
 <section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-inherited"><a id="setupHook" class="tsd-anchor"></a>
 <h3 class="tsd-anchor-link"><code class="tsd-tag ts-flagProtected">Protected</code> <span>setup<wbr/>Hook</span><a href="#setupHook" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></h3>
 <ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-inherited">
@@ -559,7 +601,7 @@ When the maximum number of workers is reached, an event is emitted. If you want
 <h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">void</span></h4><aside class="tsd-sources">
 <p>Inherited from <a href="FixedClusterPool.html">FixedClusterPool</a>.<a href="FixedClusterPool.html#setupHook">setupHook</a></p>
 <ul>
-<li>Defined in <a href="https://github.com/jerome-benoit/poolifier/blob/40ad1d2/src/pools/cluster/fixed.ts#L53">src/pools/cluster/fixed.ts:53</a></li></ul></aside></li></ul></section>
+<li>Defined in <a href="https://github.com/poolifier/poolifier/blob/3f4ea67/src/pools/cluster/fixed.ts#L53">src/pools/cluster/fixed.ts:53</a></li></ul></aside></li></ul></section>
 <section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-inherited"><a id="workerListener" class="tsd-anchor"></a>
 <h3 class="tsd-anchor-link"><code class="tsd-tag ts-flagProtected">Protected</code> <span>worker<wbr/>Listener</span><a href="#workerListener" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></h3>
 <ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-inherited">
@@ -587,7 +629,7 @@ When the maximum number of workers is reached, an event is emitted. If you want
 <h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">void</span></h4></li></ul></li></ul><aside class="tsd-sources">
 <p>Inherited from <a href="FixedClusterPool.html">FixedClusterPool</a>.<a href="FixedClusterPool.html#workerListener">workerListener</a></p>
 <ul>
-<li>Defined in <a href="https://github.com/jerome-benoit/poolifier/blob/40ad1d2/src/pools/abstract-pool.ts#L361">src/pools/abstract-pool.ts:361</a></li></ul></aside></li></ul></section></section></div>
+<li>Defined in <a href="https://github.com/poolifier/poolifier/blob/3f4ea67/src/pools/abstract-pool.ts#L368">src/pools/abstract-pool.ts:368</a></li></ul></aside></li></ul></section></section></div>
 <div class="col-4 col-menu menu-sticky-wrap menu-highlight">
 <div class="tsd-navigation settings">
 <details class="tsd-index-accordion"><summary class="tsd-accordion-summary">
@@ -621,24 +663,26 @@ When the maximum number of workers is reached, an event is emitted. If you want
 <li class="tsd-kind-property tsd-parent-kind-class tsd-is-inherited"><a href="DynamicClusterPool.html#numberOfWorkers" class="tsd-index-link"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-1024-path"></use><use href="#icon-1024-text"></use></svg>number<wbr/>Of<wbr/>Workers</a></li>
 <li class="tsd-kind-property tsd-parent-kind-class tsd-is-inherited"><a href="DynamicClusterPool.html#opts" class="tsd-index-link"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-1024-path"></use><use href="#icon-1024-text"></use></svg>opts</a></li>
 <li class="tsd-kind-property tsd-parent-kind-class tsd-is-protected tsd-is-inherited"><a href="DynamicClusterPool.html#promiseMap" class="tsd-index-link"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-1024-path"></use><use href="#icon-1024-text"></use></svg>promise<wbr/>Map</a></li>
-<li class="tsd-kind-property tsd-parent-kind-class tsd-is-inherited"><a href="DynamicClusterPool.html#tasks" class="tsd-index-link"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-1024-path"></use><use href="#icon-1024-text"></use></svg>tasks</a></li>
 <li class="tsd-kind-property tsd-parent-kind-class tsd-is-protected tsd-is-inherited"><a href="DynamicClusterPool.html#workerChoiceStrategyContext" class="tsd-index-link"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-1024-path"></use><use href="#icon-1024-text"></use></svg>worker<wbr/>Choice<wbr/>Strategy<wbr/>Context</a></li>
 <li class="tsd-kind-property tsd-parent-kind-class tsd-is-inherited"><a href="DynamicClusterPool.html#workers" class="tsd-index-link"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-1024-path"></use><use href="#icon-1024-text"></use></svg>workers</a></li>
+<li class="tsd-kind-property tsd-parent-kind-class tsd-is-inherited"><a href="DynamicClusterPool.html#workersTasksUsage" class="tsd-index-link"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-1024-path"></use><use href="#icon-1024-text"></use></svg>workers<wbr/>Tasks<wbr/>Usage</a></li>
 <li class="tsd-kind-accessor tsd-parent-kind-class"><a href="DynamicClusterPool.html#busy" class="tsd-index-link"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-262144-path"></use><use href="#icon-262144-text"></use></svg>busy</a></li>
 <li class="tsd-kind-accessor tsd-parent-kind-class tsd-is-inherited"><a href="DynamicClusterPool.html#numberOfRunningTasks" class="tsd-index-link"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-262144-path"></use><use href="#icon-262144-text"></use></svg>number<wbr/>Of<wbr/>Running<wbr/>Tasks</a></li>
 <li class="tsd-kind-accessor tsd-parent-kind-class"><a href="DynamicClusterPool.html#type" class="tsd-index-link"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-262144-path"></use><use href="#icon-262144-text"></use></svg>type</a></li>
+<li class="tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-inherited"><a href="DynamicClusterPool.html#afterPromiseWorkerResponseHook" class="tsd-index-link"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-2048-path"></use><use href="#icon-2048-text"></use></svg>after<wbr/>Promise<wbr/>Worker<wbr/>Response<wbr/>Hook</a></li>
 <li class="tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-inherited"><a href="DynamicClusterPool.html#afterWorkerSetup" class="tsd-index-link"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-2048-path"></use><use href="#icon-2048-text"></use></svg>after<wbr/>Worker<wbr/>Setup</a></li>
+<li class="tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-inherited"><a href="DynamicClusterPool.html#beforePromiseWorkerResponseHook" class="tsd-index-link"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-2048-path"></use><use href="#icon-2048-text"></use></svg>before<wbr/>Promise<wbr/>Worker<wbr/>Response<wbr/>Hook</a></li>
 <li class="tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-inherited"><a href="DynamicClusterPool.html#chooseWorker" class="tsd-index-link"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-2048-path"></use><use href="#icon-2048-text"></use></svg>choose<wbr/>Worker</a></li>
 <li class="tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-inherited"><a href="DynamicClusterPool.html#createAndSetupWorker" class="tsd-index-link"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-2048-path"></use><use href="#icon-2048-text"></use></svg>create<wbr/>And<wbr/>Setup<wbr/>Worker</a></li>
 <li class="tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-inherited"><a href="DynamicClusterPool.html#createWorker" class="tsd-index-link"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-2048-path"></use><use href="#icon-2048-text"></use></svg>create<wbr/>Worker</a></li>
-<li class="tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-inherited"><a href="DynamicClusterPool.html#decreaseWorkersTasks" class="tsd-index-link"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-2048-path"></use><use href="#icon-2048-text"></use></svg>decrease<wbr/>Workers<wbr/>Tasks</a></li>
 <li class="tsd-kind-method tsd-parent-kind-class tsd-is-inherited"><a href="DynamicClusterPool.html#destroy" class="tsd-index-link"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-2048-path"></use><use href="#icon-2048-text"></use></svg>destroy</a></li>
 <li class="tsd-kind-method tsd-parent-kind-class tsd-is-inherited"><a href="DynamicClusterPool.html#destroyWorker" class="tsd-index-link"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-2048-path"></use><use href="#icon-2048-text"></use></svg>destroy<wbr/>Worker</a></li>
 <li class="tsd-kind-method tsd-parent-kind-class tsd-is-inherited"><a href="DynamicClusterPool.html#execute" class="tsd-index-link"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-2048-path"></use><use href="#icon-2048-text"></use></svg>execute</a></li>
 <li class="tsd-kind-method tsd-parent-kind-class tsd-is-inherited"><a href="DynamicClusterPool.html#findFreeWorker" class="tsd-index-link"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-2048-path"></use><use href="#icon-2048-text"></use></svg>find<wbr/>Free<wbr/>Worker</a></li>
+<li class="tsd-kind-method tsd-parent-kind-class tsd-is-inherited"><a href="DynamicClusterPool.html#getWorkerAverageTasksRunTime" class="tsd-index-link"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-2048-path"></use><use href="#icon-2048-text"></use></svg>get<wbr/>Worker<wbr/>Average<wbr/>Tasks<wbr/>Run<wbr/>Time</a></li>
 <li class="tsd-kind-method tsd-parent-kind-class tsd-is-inherited"><a href="DynamicClusterPool.html#getWorkerIndex" class="tsd-index-link"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-2048-path"></use><use href="#icon-2048-text"></use></svg>get<wbr/>Worker<wbr/>Index</a></li>
 <li class="tsd-kind-method tsd-parent-kind-class tsd-is-inherited"><a href="DynamicClusterPool.html#getWorkerRunningTasks" class="tsd-index-link"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-2048-path"></use><use href="#icon-2048-text"></use></svg>get<wbr/>Worker<wbr/>Running<wbr/>Tasks</a></li>
-<li class="tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-inherited"><a href="DynamicClusterPool.html#increaseWorkersTask" class="tsd-index-link"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-2048-path"></use><use href="#icon-2048-text"></use></svg>increase<wbr/>Workers<wbr/>Task</a></li>
+<li class="tsd-kind-method tsd-parent-kind-class tsd-is-inherited"><a href="DynamicClusterPool.html#initWorkerTasksUsage" class="tsd-index-link"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-2048-path"></use><use href="#icon-2048-text"></use></svg>init<wbr/>Worker<wbr/>Tasks<wbr/>Usage</a></li>
 <li class="tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-inherited"><a href="DynamicClusterPool.html#internalExecute" class="tsd-index-link"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-2048-path"></use><use href="#icon-2048-text"></use></svg>internal<wbr/>Execute</a></li>
 <li class="tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-inherited"><a href="DynamicClusterPool.html#internalGetBusyStatus" class="tsd-index-link"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-2048-path"></use><use href="#icon-2048-text"></use></svg>internal<wbr/>Get<wbr/>Busy<wbr/>Status</a></li>
 <li class="tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-inherited"><a href="DynamicClusterPool.html#isMain" class="tsd-index-link"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-2048-path"></use><use href="#icon-2048-text"></use></svg>is<wbr/>Main</a></li>