Merge branch 'master' of github.com:poolifier/poolifier
[poolifier.git] / docs / classes / DynamicThreadPool.html
CommitLineData
3bd6a82e 1<!DOCTYPE html><html class="default" lang="en"><head><meta charSet="utf-8"/><meta http-equiv="x-ua-compatible" content="IE=edge"/><title>DynamicThreadPool | poolifier</title><meta name="description" content="Documentation for poolifier"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="stylesheet" href="../assets/style.css"/><link rel="stylesheet" href="../assets/highlight.css"/><script defer src="../assets/main.js"></script><script async src="../assets/search.js" id="tsd-search-script"></script></head><body><script>document.documentElement.dataset.theme = localStorage.getItem("tsd-theme") || "os"</script><header class="tsd-page-toolbar">
a76fac14
JB
2<div class="tsd-toolbar-contents container">
3<div class="table-cell" id="tsd-search" data-base="..">
41015374
JB
4<div class="field"><label for="tsd-search-field" class="tsd-widget tsd-toolbar-icon search no-caption"><svg width="16" height="16" viewBox="0 0 16 16" fill="none"><path d="M15.7824 13.833L12.6666 10.7177C12.5259 10.5771 12.3353 10.499 12.1353 10.499H11.6259C12.4884 9.39596 13.001 8.00859 13.001 6.49937C13.001 2.90909 10.0914 0 6.50048 0C2.90959 0 0 2.90909 0 6.49937C0 10.0896 2.90959 12.9987 6.50048 12.9987C8.00996 12.9987 9.39756 12.4863 10.5008 11.6239V12.1332C10.5008 12.3332 10.5789 12.5238 10.7195 12.6644L13.8354 15.7797C14.1292 16.0734 14.6042 16.0734 14.8948 15.7797L15.7793 14.8954C16.0731 14.6017 16.0731 14.1267 15.7824 13.833ZM6.50048 10.499C4.29094 10.499 2.50018 8.71165 2.50018 6.49937C2.50018 4.29021 4.28781 2.49976 6.50048 2.49976C8.71001 2.49976 10.5008 4.28708 10.5008 6.49937C10.5008 8.70852 8.71314 10.499 6.50048 10.499Z" fill="var(--color-text)"></path></svg></label><input type="text" id="tsd-search-field" aria-label="Search"/></div>
5<div class="field">
6<div id="tsd-toolbar-links"></div></div>
a76fac14
JB
7<ul class="results">
8<li class="state loading">Preparing search index...</li>
cfc6e8df 9<li class="state failure">The search index is not available</li></ul><a href="../index.html" class="title">poolifier</a></div>
41015374 10<div class="table-cell" id="tsd-widgets"><a href="#" class="tsd-widget tsd-toolbar-icon menu no-caption" data-toggle="menu" aria-label="Menu"><svg width="16" height="16" viewBox="0 0 16 16" fill="none"><rect x="1" y="3" width="14" height="2" fill="var(--color-text)"></rect><rect x="1" y="7" width="14" height="2" fill="var(--color-text)"></rect><rect x="1" y="11" width="14" height="2" fill="var(--color-text)"></rect></svg></a></div></div></header>
a76fac14 11<div class="container container-main">
ec06e4dd 12<div class="col-content">
a76fac14
JB
13<div class="tsd-page-title">
14<ul class="tsd-breadcrumb">
15<li><a href="../index.html">poolifier</a></li>
16<li><a href="DynamicThreadPool.html">DynamicThreadPool</a></li></ul>
17<h1>Class DynamicThreadPool&lt;Data, Response&gt;</h1></div>
18<section class="tsd-panel tsd-comment">
19<div class="tsd-comment tsd-typography"><p>A thread pool with a dynamic number of threads, but a guaranteed minimum number of threads.</p>
20<p>This thread pool creates new threads when the others are busy, up to the maximum number of threads.
ba92b02f 21When the maximum number of threads is reached and workers are busy, an event is emitted. If you want to listen to this event, use the pool&#39;s <code>emitter</code>.</p>
a76fac14 22
a76fac14
JB
23<h3>Author</h3><p><a href="https://github.com/pioardi">Alessandro Pio Ardizio</a></p>
24
25<h3>Since</h3><p>0.0.1</p>
26</div></section>
fab6d3b5 27<section class="tsd-panel">
a76fac14 28<h4>Type Parameters</h4>
fab6d3b5 29<ul class="tsd-type-parameter-list">
a76fac14 30<li>
3bd6a82e 31<h4><span class="tsd-kind-type-parameter">Data</span> = <span class="tsd-signature-type">unknown</span></h4>
41015374
JB
32<div class="tsd-comment tsd-typography"><p>Type of data sent to the worker. This can only be serializable data.</p>
33</div></li>
a76fac14 34<li>
3bd6a82e 35<h4><span class="tsd-kind-type-parameter">Response</span> = <span class="tsd-signature-type">unknown</span></h4>
e39450c0 36<div class="tsd-comment tsd-typography"><p>Type of execution response. This can only be serializable data.</p>
41015374 37</div></li></ul></section>
a76fac14
JB
38<section class="tsd-panel tsd-hierarchy">
39<h4>Hierarchy</h4>
40<ul class="tsd-hierarchy">
8d1797ad 41<li><a href="FixedThreadPool.html" class="tsd-signature-type tsd-kind-class">FixedThreadPool</a><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type tsd-kind-type-parameter">Data</span><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type tsd-kind-type-parameter">Response</span><span class="tsd-signature-symbol">&gt;</span>
a76fac14
JB
42<ul class="tsd-hierarchy">
43<li><span class="target">DynamicThreadPool</span></li></ul></li></ul></section><aside class="tsd-sources">
44<ul>
67de15a0 45<li>Defined in <a href="https://github.com/poolifier/poolifier/blob/3db6a2b/src/pools/thread/dynamic.ts#L17">src/pools/thread/dynamic.ts:17</a></li></ul></aside>
a76fac14
JB
46<section class="tsd-panel-group tsd-index-group">
47<section class="tsd-panel tsd-index-panel">
48<details class="tsd-index-content tsd-index-accordion" open><summary class="tsd-accordion-summary tsd-index-summary">
49<h5 class="tsd-index-heading uppercase" role="button" aria-expanded="false" tabIndex=0><svg width="16" height="16" viewBox="0 0 16 16" fill="none"><path d="M1.5 5.50969L8 11.6609L14.5 5.50969L12.5466 3.66086L8 7.96494L3.45341 3.66086L1.5 5.50969Z" fill="var(--color-text)"></path></svg> Index</h5></summary>
50<div class="tsd-accordion-details">
51<section class="tsd-index-section">
52<h3 class="tsd-index-heading">Constructors</h3>
3bd6a82e 53<div class="tsd-index-list"><a href="DynamicThreadPool.html#constructor" class="tsd-index-link"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><rect fill="var(--color-icon-background)" stroke="#4D7FFF" stroke-width="1.5" x="1" y="1" width="22" height="22" rx="12" id="icon-512-path"></rect><path d="M11.898 16.1201C11.098 16.1201 10.466 15.8961 10.002 15.4481C9.53803 15.0001 9.30603 14.3841 9.30603 13.6001V9.64012C9.30603 8.85612 9.53803 8.24012 10.002 7.79212C10.466 7.34412 11.098 7.12012 11.898 7.12012C12.682 7.12012 13.306 7.34812 13.77 7.80412C14.234 8.25212 14.466 8.86412 14.466 9.64012H13.386C13.386 9.14412 13.254 8.76412 12.99 8.50012C12.734 8.22812 12.37 8.09212 11.898 8.09212C11.426 8.09212 11.054 8.22412 10.782 8.48812C10.518 8.75212 10.386 9.13212 10.386 9.62812V13.6001C10.386 14.0961 10.518 14.4801 10.782 14.7521C11.054 15.0161 11.426 15.1481 11.898 15.1481C12.37 15.1481 12.734 15.0161 12.99 14.7521C13.254 14.4801 13.386 14.0961 13.386 13.6001H14.466C14.466 14.3761 14.234 14.9921 13.77 15.4481C13.306 15.8961 12.682 16.1201 11.898 16.1201Z" fill="var(--color-text)" id="icon-512-text"></path></svg><span>constructor</span></a>
a76fac14
JB
54</div></section>
55<section class="tsd-index-section">
56<h3 class="tsd-index-heading">Properties</h3>
3bd6a82e 57<div class="tsd-index-list"><a href="DynamicThreadPool.html#emitter" class="tsd-index-link tsd-is-inherited"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><rect fill="var(--color-icon-background)" stroke="#FF984D" stroke-width="1.5" x="1" y="1" width="22" height="22" rx="12" id="icon-1024-path"></rect><path d="M9.354 16V7.24H12.174C12.99 7.24 13.638 7.476 14.118 7.948C14.606 8.412 14.85 9.036 14.85 9.82C14.85 10.604 14.606 11.232 14.118 11.704C13.638 12.168 12.99 12.4 12.174 12.4H10.434V16H9.354ZM10.434 11.428H12.174C12.646 11.428 13.022 11.284 13.302 10.996C13.59 10.7 13.734 10.308 13.734 9.82C13.734 9.324 13.59 8.932 13.302 8.644C13.022 8.356 12.646 8.212 12.174 8.212H10.434V11.428Z" fill="var(--color-text)" id="icon-1024-text"></path></svg><span>emitter?</span></a>
58<a href="DynamicThreadPool.html#filePath" class="tsd-index-link 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>file<wbr/>Path</span></a>
59<a href="DynamicThreadPool.html#max" 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><span>max</span></a>
60<a href="DynamicThreadPool.html#numberOfWorkers" class="tsd-index-link 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>
61<a href="DynamicThreadPool.html#opts" class="tsd-index-link 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>
62<a href="DynamicThreadPool.html#promiseResponseMap" class="tsd-index-link 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/>Response<wbr/>Map</span></a>
63<a href="DynamicThreadPool.html#workerChoiceStrategyContext" class="tsd-index-link 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>
64<a href="DynamicThreadPool.html#workerNodes" class="tsd-index-link 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/>Nodes</span></a>
a76fac14
JB
65</div></section>
66<section class="tsd-index-section">
67<h3 class="tsd-index-heading">Accessors</h3>
3bd6a82e 68<div class="tsd-index-list"><a href="DynamicThreadPool.html#busy" class="tsd-index-link tsd-is-protected"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><rect fill="var(--color-icon-background)" stroke="#FF4D4D" stroke-width="1.5" x="1" y="1" width="22" height="22" rx="12" id="icon-262144-path"></rect><path d="M8.85 16L11.13 7.24H12.582L14.85 16H13.758L13.182 13.672H10.53L9.954 16H8.85ZM10.746 12.76H12.954L12.282 10.06C12.154 9.548 12.054 9.12 11.982 8.776C11.91 8.432 11.866 8.208 11.85 8.104C11.834 8.208 11.79 8.432 11.718 8.776C11.646 9.12 11.546 9.544 11.418 10.048L10.746 12.76Z" fill="var(--color-text)" id="icon-262144-text"></path></svg><span>busy</span></a>
69<a href="DynamicThreadPool.html#full" class="tsd-index-link tsd-is-protected"><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><span>full</span></a>
70<a href="DynamicThreadPool.html#numberOfQueuedTasks" class="tsd-index-link tsd-is-private tsd-is-inherited"><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><span>number<wbr/>Of<wbr/>Queued<wbr/>Tasks</span></a>
71<a href="DynamicThreadPool.html#numberOfRunningTasks" class="tsd-index-link tsd-is-private tsd-is-inherited"><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><span>number<wbr/>Of<wbr/>Running<wbr/>Tasks</span></a>
72<a href="DynamicThreadPool.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><span>type</span></a>
a76fac14
JB
73</div></section>
74<section class="tsd-index-section">
75<h3 class="tsd-index-heading">Methods</h3>
3bd6a82e 76<div class="tsd-index-list"><a href="DynamicThreadPool.html#afterTaskExecutionHook" class="tsd-index-link 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/>Task<wbr/>Execution<wbr/>Hook</span></a>
77<a href="DynamicThreadPool.html#afterWorkerSetup" class="tsd-index-link 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>
78<a href="DynamicThreadPool.html#beforeTaskExecutionHook" class="tsd-index-link 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/>Task<wbr/>Execution<wbr/>Hook</span></a>
79<a href="DynamicThreadPool.html#chooseWorkerNode" class="tsd-index-link 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<wbr/>Node</span></a>
80<a href="DynamicThreadPool.html#createAndSetupWorker" class="tsd-index-link 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>
81<a href="DynamicThreadPool.html#createWorker" class="tsd-index-link 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>
82<a href="DynamicThreadPool.html#destroy" class="tsd-index-link 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>
83<a href="DynamicThreadPool.html#destroyWorker" class="tsd-index-link 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>destroy<wbr/>Worker</span></a>
84<a href="DynamicThreadPool.html#enableTasksQueue" class="tsd-index-link 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>enable<wbr/>Tasks<wbr/>Queue</span></a>
85<a href="DynamicThreadPool.html#execute" class="tsd-index-link 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>
3bd6a82e 86<a href="DynamicThreadPool.html#internalBusy" class="tsd-index-link 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/>Busy</span></a>
87<a href="DynamicThreadPool.html#isMain" class="tsd-index-link 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>
88<a href="DynamicThreadPool.html#registerWorkerMessageListener" class="tsd-index-link 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>register<wbr/>Worker<wbr/>Message<wbr/>Listener</span></a>
89<a href="DynamicThreadPool.html#sendToWorker" class="tsd-index-link 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>send<wbr/>To<wbr/>Worker</span></a>
90<a href="DynamicThreadPool.html#setTasksQueueOptions" class="tsd-index-link 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>set<wbr/>Tasks<wbr/>Queue<wbr/>Options</span></a>
91<a href="DynamicThreadPool.html#setWorkerChoiceStrategy" class="tsd-index-link 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>set<wbr/>Worker<wbr/>Choice<wbr/>Strategy</span></a>
92<a href="DynamicThreadPool.html#setWorkerChoiceStrategyOptions" class="tsd-index-link 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>set<wbr/>Worker<wbr/>Choice<wbr/>Strategy<wbr/>Options</span></a>
93<a href="DynamicThreadPool.html#setupHook" class="tsd-index-link 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>setup<wbr/>Hook</span></a>
94<a href="DynamicThreadPool.html#workerListener" class="tsd-index-link 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>worker<wbr/>Listener</span></a>
a76fac14
JB
95</div></section></div></details></section></section>
96<section class="tsd-panel-group tsd-member-group">
97<h2>Constructors</h2>
3bd6a82e 98<section class="tsd-panel tsd-member"><a id="constructor" class="tsd-anchor"></a>
a76fac14 99<h3 class="tsd-anchor-link"><span>constructor</span><a href="#constructor" 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"><path stroke="none" d="M0 0h24v24H0z" fill="none" id="icon-anchor-a"></path><path d="M10 14a3.5 3.5 0 0 0 5 0l4 -4a3.5 3.5 0 0 0 -5 -5l-.5 .5" id="icon-anchor-b"></path><path d="M14 10a3.5 3.5 0 0 0 -5 0l-4 4a3.5 3.5 0 0 0 5 5l.5 -.5" id="icon-anchor-c"></path></svg></a></h3>
3bd6a82e 100<ul class="tsd-signatures">
8d1797ad 101<li class="tsd-signature tsd-anchor-link" id="constructor.new_DynamicThreadPool"><span class="tsd-kind-constructor-signature">new <wbr/>Dynamic<wbr/>Thread<wbr/>Pool</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type tsd-kind-type-parameter">Data</span><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type tsd-kind-type-parameter">Response</span><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">min</span>, <span class="tsd-kind-parameter">max</span>, <span class="tsd-kind-parameter">filePath</span>, <span class="tsd-kind-parameter">opts</span><span class="tsd-signature-symbol">?</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><a href="DynamicThreadPool.html" class="tsd-signature-type tsd-kind-class">DynamicThreadPool</a><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type tsd-kind-type-parameter">Data</span><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type tsd-kind-type-parameter">Response</span><span class="tsd-signature-symbol">&gt;</span><a href="#constructor.new_DynamicThreadPool" 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>
a76fac14
JB
102<li class="tsd-description">
103<div class="tsd-comment tsd-typography"><p>Constructs a new poolifier dynamic thread pool.</p>
104</div>
fab6d3b5 105<section class="tsd-panel">
a76fac14 106<h4>Type Parameters</h4>
fab6d3b5 107<ul class="tsd-type-parameter-list">
a76fac14 108<li>
3bd6a82e 109<h4><span class="tsd-kind-type-parameter">Data</span> = <span class="tsd-signature-type">unknown</span></h4></li>
a76fac14 110<li>
3bd6a82e 111<h4><span class="tsd-kind-type-parameter">Response</span> = <span class="tsd-signature-type">unknown</span></h4></li></ul></section>
a76fac14
JB
112<div class="tsd-parameters">
113<h4 class="tsd-parameters-title">Parameters</h4>
114<ul class="tsd-parameter-list">
115<li>
3bd6a82e 116<h5><span class="tsd-kind-parameter">min</span>: <span class="tsd-signature-type">number</span></h5>
a76fac14
JB
117<div class="tsd-comment tsd-typography"><p>Minimum number of threads which are always active.</p>
118</div></li>
119<li>
3bd6a82e 120<h5><span class="tsd-kind-parameter">max</span>: <span class="tsd-signature-type">number</span></h5>
a76fac14
JB
121<div class="tsd-comment tsd-typography"><p>Maximum number of threads that can be created by this pool.</p>
122</div></li>
123<li>
3bd6a82e 124<h5><span class="tsd-kind-parameter">filePath</span>: <span class="tsd-signature-type">string</span></h5>
a76fac14
JB
125<div class="tsd-comment tsd-typography"><p>Path to an implementation of a <code>ThreadWorker</code> file, which can be relative or absolute.</p>
126</div></li>
127<li>
8d1797ad 128<h5><span class="tsd-kind-parameter">opts</span>: <a href="../interfaces/PoolOptions.html" class="tsd-signature-type tsd-kind-interface">PoolOptions</a><span class="tsd-signature-symbol">&lt;</span><a href="../types/ThreadWorkerWithMessageChannel.html" class="tsd-signature-type tsd-kind-type-alias">ThreadWorkerWithMessageChannel</a><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol"> = {}</span></h5>
a76fac14
JB
129<div class="tsd-comment tsd-typography"><p>Options for this dynamic thread pool.</p>
130</div></li></ul></div>
8d1797ad 131<h4 class="tsd-returns-title">Returns <a href="DynamicThreadPool.html" class="tsd-signature-type tsd-kind-class">DynamicThreadPool</a><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type tsd-kind-type-parameter">Data</span><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type tsd-kind-type-parameter">Response</span><span class="tsd-signature-symbol">&gt;</span></h4><aside class="tsd-sources">
a76fac14
JB
132<p>Overrides <a href="FixedThreadPool.html">FixedThreadPool</a>.<a href="FixedThreadPool.html#constructor">constructor</a></p>
133<ul>
67de15a0 134<li>Defined in <a href="https://github.com/poolifier/poolifier/blob/3db6a2b/src/pools/thread/dynamic.ts#L29">src/pools/thread/dynamic.ts:29</a></li></ul></aside></li></ul></section></section>
a76fac14
JB
135<section class="tsd-panel-group tsd-member-group">
136<h2>Properties</h2>
3bd6a82e 137<section class="tsd-panel tsd-member tsd-is-inherited"><a id="emitter" class="tsd-anchor"></a>
a76fac14 138<h3 class="tsd-anchor-link"><code class="tsd-tag ts-flagOptional">Optional</code> <code class="tsd-tag ts-flagReadonly">Readonly</code> <span>emitter</span><a href="#emitter" 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>
8d1797ad 139<div class="tsd-signature"><span class="tsd-kind-property">emitter</span><span class="tsd-signature-symbol">?:</span> <a href="PoolEmitter.html" class="tsd-signature-type tsd-kind-class">PoolEmitter</a></div>
6c525543 140<div class="tsd-comment tsd-typography"><p>Emitter on which events can be listened to.</p>
141<p>Events that can currently be listened to:</p>
142<ul>
143<li><code>&#39;full&#39;</code>: Emitted when the pool is dynamic and full.</li>
144<li><code>&#39;busy&#39;</code>: Emitted when the pool is busy.</li>
145</ul>
146</div><aside class="tsd-sources">
a76fac14
JB
147<p>Inherited from <a href="FixedThreadPool.html">FixedThreadPool</a>.<a href="FixedThreadPool.html#emitter">emitter</a></p>
148<ul>
67de15a0 149<li>Defined in <a href="https://github.com/poolifier/poolifier/blob/3db6a2b/src/pools/abstract-pool.ts#L43">src/pools/abstract-pool.ts:43</a></li></ul></aside></section>
3bd6a82e 150<section class="tsd-panel tsd-member tsd-is-inherited"><a id="filePath" class="tsd-anchor"></a>
a76fac14 151<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>
8d1797ad 152<div class="tsd-signature"><span class="tsd-kind-property">file<wbr/>Path</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">string</span></div>
f63918da 153<div class="tsd-comment tsd-typography"><p>Path to the worker file.</p>
cfc6e8df 154</div><aside class="tsd-sources">
a76fac14
JB
155<p>Inherited from <a href="FixedThreadPool.html">FixedThreadPool</a>.<a href="FixedThreadPool.html#filePath">filePath</a></p>
156<ul>
67de15a0 157<li>Defined in <a href="https://github.com/poolifier/poolifier/blob/3db6a2b/src/pools/abstract-pool.ts#L78">src/pools/abstract-pool.ts:78</a></li></ul></aside></section>
3bd6a82e 158<section class="tsd-panel tsd-member"><a id="max" class="tsd-anchor"></a>
7cd8af00 159<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>
8d1797ad 160<div class="tsd-signature"><span class="tsd-kind-property">max</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">number</span></div>
cfc6e8df 161<div class="tsd-comment tsd-typography"><p>Maximum number of threads that can be created by this pool.</p>
162</div><aside class="tsd-sources">
a76fac14 163<ul>
67de15a0 164<li>Defined in <a href="https://github.com/poolifier/poolifier/blob/3db6a2b/src/pools/thread/dynamic.ts#L31">src/pools/thread/dynamic.ts:31</a></li></ul></aside></section>
3bd6a82e 165<section class="tsd-panel tsd-member tsd-is-inherited"><a id="numberOfWorkers" class="tsd-anchor"></a>
a76fac14 166<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>
8d1797ad 167<div class="tsd-signature"><span class="tsd-kind-property">number<wbr/>Of<wbr/>Workers</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">number</span></div>
cfc6e8df 168<div class="tsd-comment tsd-typography"><p>Number of workers that this pool should manage.</p>
169</div><aside class="tsd-sources">
a76fac14
JB
170<p>Inherited from <a href="FixedThreadPool.html">FixedThreadPool</a>.<a href="FixedThreadPool.html#numberOfWorkers">numberOfWorkers</a></p>
171<ul>
67de15a0 172<li>Defined in <a href="https://github.com/poolifier/poolifier/blob/3db6a2b/src/pools/abstract-pool.ts#L77">src/pools/abstract-pool.ts:77</a></li></ul></aside></section>
3bd6a82e 173<section class="tsd-panel tsd-member tsd-is-inherited"><a id="opts" class="tsd-anchor"></a>
a76fac14 174<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>
8d1797ad 175<div class="tsd-signature"><span class="tsd-kind-property">opts</span><span class="tsd-signature-symbol">:</span> <a href="../interfaces/PoolOptions.html" class="tsd-signature-type tsd-kind-interface">PoolOptions</a><span class="tsd-signature-symbol">&lt;</span><a href="../types/ThreadWorkerWithMessageChannel.html" class="tsd-signature-type tsd-kind-type-alias">ThreadWorkerWithMessageChannel</a><span class="tsd-signature-symbol">&gt;</span></div>
cfc6e8df 176<div class="tsd-comment tsd-typography"><p>Options for the pool.</p>
177</div><aside class="tsd-sources">
a76fac14
JB
178<p>Inherited from <a href="FixedThreadPool.html">FixedThreadPool</a>.<a href="FixedThreadPool.html#opts">opts</a></p>
179<ul>
67de15a0 180<li>Defined in <a href="https://github.com/poolifier/poolifier/blob/3db6a2b/src/pools/abstract-pool.ts#L79">src/pools/abstract-pool.ts:79</a></li></ul></aside></section>
3bd6a82e 181<section class="tsd-panel tsd-member tsd-is-protected tsd-is-inherited"><a id="promiseResponseMap" class="tsd-anchor"></a>
79458fb6 182<h3 class="tsd-anchor-link"><code class="tsd-tag ts-flagProtected">Protected</code> <span>promise<wbr/>Response<wbr/>Map</span><a href="#promiseResponseMap" 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>
8d1797ad 183<div class="tsd-signature"><span class="tsd-kind-property">promise<wbr/>Response<wbr/>Map</span><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">string</span><span class="tsd-signature-symbol">, </span><a href="../interfaces/PromiseResponseWrapper.html" class="tsd-signature-type tsd-kind-interface">PromiseResponseWrapper</a><span class="tsd-signature-symbol">&lt;</span><a href="../types/ThreadWorkerWithMessageChannel.html" class="tsd-signature-type tsd-kind-type-alias">ThreadWorkerWithMessageChannel</a><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type 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>
21402562 184<div class="tsd-comment tsd-typography"><p>The execution response promise map.</p>
a76fac14 185<ul>
79458fb6 186<li><code>key</code>: The message id of each submitted task.</li>
21402562 187<li><code>value</code>: An object that contains the worker, the execution response promise resolve and reject callbacks.</li>
24c3fcb4 188</ul>
21402562 189<p>When we receive a message from the worker, we get a map entry with the promise resolve/reject bound to the message id.</p>
a76fac14 190</div><aside class="tsd-sources">
79458fb6 191<p>Inherited from <a href="FixedThreadPool.html">FixedThreadPool</a>.<a href="FixedThreadPool.html#promiseResponseMap">promiseResponseMap</a></p>
a76fac14 192<ul>
67de15a0 193<li>Defined in <a href="https://github.com/poolifier/poolifier/blob/3db6a2b/src/pools/abstract-pool.ts#L53">src/pools/abstract-pool.ts:53</a></li></ul></aside></section>
3bd6a82e 194<section class="tsd-panel tsd-member tsd-is-protected tsd-is-inherited"><a id="workerChoiceStrategyContext" class="tsd-anchor"></a>
a76fac14 195<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>
8d1797ad 196<div class="tsd-signature"><span class="tsd-kind-property">worker<wbr/>Choice<wbr/>Strategy<wbr/>Context</span><span class="tsd-signature-symbol">:</span> <a href="WorkerChoiceStrategyContext.html" class="tsd-signature-type tsd-kind-class">WorkerChoiceStrategyContext</a><span class="tsd-signature-symbol">&lt;</span><a href="../types/ThreadWorkerWithMessageChannel.html" class="tsd-signature-type tsd-kind-type-alias">ThreadWorkerWithMessageChannel</a><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type tsd-kind-type-parameter">Data</span><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type tsd-kind-type-parameter">Response</span><span class="tsd-signature-symbol">&gt;</span></div>
e604957d 197<div class="tsd-comment tsd-typography"><p>Worker choice strategy context referencing a worker choice algorithm implementation.</p>
198<p>Default to a round robin algorithm.</p>
a76fac14
JB
199</div><aside class="tsd-sources">
200<p>Inherited from <a href="FixedThreadPool.html">FixedThreadPool</a>.<a href="FixedThreadPool.html#workerChoiceStrategyContext">workerChoiceStrategyContext</a></p>
201<ul>
67de15a0 202<li>Defined in <a href="https://github.com/poolifier/poolifier/blob/3db6a2b/src/pools/abstract-pool.ts#L63">src/pools/abstract-pool.ts:63</a></li></ul></aside></section>
3bd6a82e 203<section class="tsd-panel tsd-member tsd-is-inherited"><a id="workerNodes" class="tsd-anchor"></a>
ffc8d144 204<h3 class="tsd-anchor-link"><code class="tsd-tag ts-flagReadonly">Readonly</code> <span>worker<wbr/>Nodes</span><a href="#workerNodes" 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>
8d1797ad 205<div class="tsd-signature"><span class="tsd-kind-property">worker<wbr/>Nodes</span><span class="tsd-signature-symbol">:</span> <a href="../interfaces/WorkerNode.html" class="tsd-signature-type tsd-kind-interface">WorkerNode</a><span class="tsd-signature-symbol">&lt;</span><a href="../types/ThreadWorkerWithMessageChannel.html" class="tsd-signature-type tsd-kind-type-alias">ThreadWorkerWithMessageChannel</a><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type tsd-kind-type-parameter">Data</span><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">[]</span><span class="tsd-signature-symbol"> = []</span></div>
6c525543 206<div class="tsd-comment tsd-typography"><p>Pool worker nodes.</p>
207</div><aside class="tsd-sources">
ffc8d144 208<p>Inherited from <a href="FixedThreadPool.html">FixedThreadPool</a>.<a href="FixedThreadPool.html#workerNodes">workerNodes</a></p>
a76fac14 209<ul>
67de15a0 210<li>Defined in <a href="https://github.com/poolifier/poolifier/blob/3db6a2b/src/pools/abstract-pool.ts#L40">src/pools/abstract-pool.ts:40</a></li></ul></aside></section></section>
a76fac14
JB
211<section class="tsd-panel-group tsd-member-group">
212<h2>Accessors</h2>
3bd6a82e 213<section class="tsd-panel tsd-member tsd-is-protected"><a id="busy" class="tsd-anchor"></a>
d6b93f1a 214<h3 class="tsd-anchor-link"><code class="tsd-tag ts-flagProtected">Protected</code> <span>busy</span><a href="#busy" 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>
3bd6a82e 215<ul class="tsd-signatures tsd-is-protected">
a76fac14
JB
216<li class="tsd-signature" id="busy.busy-1"><span class="tsd-signature-symbol">get</span> busy<span class="tsd-signature-symbol">(</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">boolean</span></li>
217<li class="tsd-description">
6c525543 218<div class="tsd-comment tsd-typography"><p>Whether the pool is busy or not.</p>
219<p>The pool busyness boolean status.</p>
220</div>
a76fac14
JB
221<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">boolean</span></h4><aside class="tsd-sources">
222<p>Overrides FixedThreadPool.busy</p>
223<ul>
67de15a0 224<li>Defined in <a href="https://github.com/poolifier/poolifier/blob/3db6a2b/src/pools/thread/dynamic.ts#L49">src/pools/thread/dynamic.ts:49</a></li></ul></aside></li></ul></section>
3bd6a82e 225<section class="tsd-panel tsd-member tsd-is-protected"><a id="full" class="tsd-anchor"></a>
d6b93f1a 226<h3 class="tsd-anchor-link"><code class="tsd-tag ts-flagProtected">Protected</code> <span>full</span><a href="#full" 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>
3bd6a82e 227<ul class="tsd-signatures tsd-is-protected">
0770fe62 228<li class="tsd-signature" id="full.full-1"><span class="tsd-signature-symbol">get</span> full<span class="tsd-signature-symbol">(</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">boolean</span></li>
a76fac14 229<li class="tsd-description">
6c525543 230<div class="tsd-comment tsd-typography"><p>Whether the pool is full or not.</p>
231<p>The pool filling boolean status.</p>
232</div>
0770fe62 233<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">boolean</span></h4><aside class="tsd-sources">
234<p>Overrides FixedThreadPool.full</p>
235<ul>
67de15a0 236<li>Defined in <a href="https://github.com/poolifier/poolifier/blob/3db6a2b/src/pools/thread/dynamic.ts#L44">src/pools/thread/dynamic.ts:44</a></li></ul></aside></li></ul></section>
3bd6a82e 237<section class="tsd-panel tsd-member tsd-is-private tsd-is-inherited"><a id="numberOfQueuedTasks" class="tsd-anchor"></a>
ffc8d144 238<h3 class="tsd-anchor-link"><code class="tsd-tag ts-flagPrivate">Private</code> <span>number<wbr/>Of<wbr/>Queued<wbr/>Tasks</span><a href="#numberOfQueuedTasks" 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>
3bd6a82e 239<ul class="tsd-signatures tsd-is-private tsd-is-inherited">
ffc8d144 240<li class="tsd-signature" id="numberOfQueuedTasks.numberOfQueuedTasks-1"><span class="tsd-signature-symbol">get</span> numberOfQueuedTasks<span class="tsd-signature-symbol">(</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">number</span></li>
241<li class="tsd-description">
242<div class="tsd-comment tsd-typography"><p>Number of tasks queued in the pool.</p>
243</div>
244<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">number</span></h4><aside class="tsd-sources">
245<p>Inherited from FixedThreadPool.numberOfQueuedTasks</p>
246<ul>
67de15a0 247<li>Defined in <a href="https://github.com/poolifier/poolifier/blob/3db6a2b/src/pools/abstract-pool.ts#L196">src/pools/abstract-pool.ts:196</a></li></ul></aside></li></ul></section>
3bd6a82e 248<section class="tsd-panel tsd-member tsd-is-private tsd-is-inherited"><a id="numberOfRunningTasks" class="tsd-anchor"></a>
0770fe62 249<h3 class="tsd-anchor-link"><code class="tsd-tag ts-flagPrivate">Private</code> <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>
3bd6a82e 250<ul class="tsd-signatures tsd-is-private tsd-is-inherited">
0770fe62 251<li class="tsd-signature" id="numberOfRunningTasks.numberOfRunningTasks-1"><span class="tsd-signature-symbol">get</span> numberOfRunningTasks<span class="tsd-signature-symbol">(</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">number</span></li>
252<li class="tsd-description">
ffc8d144 253<div class="tsd-comment tsd-typography"><p>Number of tasks running in the pool.</p>
0770fe62 254</div>
a76fac14
JB
255<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">number</span></h4><aside class="tsd-sources">
256<p>Inherited from FixedThreadPool.numberOfRunningTasks</p>
257<ul>
67de15a0 258<li>Defined in <a href="https://github.com/poolifier/poolifier/blob/3db6a2b/src/pools/abstract-pool.ts#L186">src/pools/abstract-pool.ts:186</a></li></ul></aside></li></ul></section>
3bd6a82e 259<section class="tsd-panel tsd-member"><a id="type" class="tsd-anchor"></a>
a76fac14 260<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>
3bd6a82e 261<ul class="tsd-signatures">
8d1797ad 262<li class="tsd-signature" id="type.type-1"><span class="tsd-signature-symbol">get</span> type<span class="tsd-signature-symbol">(</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><a href="../enums/PoolType.html" class="tsd-signature-type tsd-kind-enum">PoolType</a></li>
a76fac14 263<li class="tsd-description">
6c525543 264<div class="tsd-comment tsd-typography"><p>Pool type.</p>
265<p>If it is <code>&#39;dynamic&#39;</code>, it provides the <code>max</code> property.</p>
266</div>
8d1797ad 267<h4 class="tsd-returns-title">Returns <a href="../enums/PoolType.html" class="tsd-signature-type tsd-kind-enum">PoolType</a></h4><aside class="tsd-sources">
a76fac14
JB
268<p>Overrides FixedThreadPool.type</p>
269<ul>
67de15a0 270<li>Defined in <a href="https://github.com/poolifier/poolifier/blob/3db6a2b/src/pools/thread/dynamic.ts#L39">src/pools/thread/dynamic.ts:39</a></li></ul></aside></li></ul></section></section>
a76fac14
JB
271<section class="tsd-panel-group tsd-member-group">
272<h2>Methods</h2>
3bd6a82e 273<section class="tsd-panel tsd-member tsd-is-protected tsd-is-inherited"><a id="afterTaskExecutionHook" class="tsd-anchor"></a>
18ba88e2 274<h3 class="tsd-anchor-link"><code class="tsd-tag ts-flagProtected">Protected</code> <span>after<wbr/>Task<wbr/>Execution<wbr/>Hook</span><a href="#afterTaskExecutionHook" 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>
3bd6a82e 275<ul class="tsd-signatures tsd-is-protected tsd-is-inherited">
8d1797ad 276<li class="tsd-signature tsd-anchor-link" id="afterTaskExecutionHook.afterTaskExecutionHook-1"><span class="tsd-kind-call-signature">after<wbr/>Task<wbr/>Execution<wbr/>Hook</span><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">worker</span>, <span class="tsd-kind-parameter">message</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">void</span><a href="#afterTaskExecutionHook.afterTaskExecutionHook-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>
ed1ecf09 277<li class="tsd-description">
18ba88e2 278<div class="tsd-comment tsd-typography"><p>Hook executed after the worker task execution.
ed1ecf09
JB
279Can be overridden.</p>
280</div>
281<div class="tsd-parameters">
282<h4 class="tsd-parameters-title">Parameters</h4>
283<ul class="tsd-parameter-list">
284<li>
8d1797ad 285<h5><span class="tsd-kind-parameter">worker</span>: <a href="../types/ThreadWorkerWithMessageChannel.html" class="tsd-signature-type tsd-kind-type-alias">ThreadWorkerWithMessageChannel</a></h5>
79458fb6 286<div class="tsd-comment tsd-typography"><p>The worker.</p>
ed1ecf09
JB
287</div></li>
288<li>
8d1797ad 289<h5><span class="tsd-kind-parameter">message</span>: <a href="../interfaces/MessageValue.html" class="tsd-signature-type tsd-kind-interface">MessageValue</a><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type 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>
79458fb6 290<div class="tsd-comment tsd-typography"><p>The received message.</p>
ed1ecf09
JB
291</div></li></ul></div>
292<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">void</span></h4><aside class="tsd-sources">
18ba88e2 293<p>Inherited from <a href="FixedThreadPool.html">FixedThreadPool</a>.<a href="FixedThreadPool.html#afterTaskExecutionHook">afterTaskExecutionHook</a></p>
ed1ecf09 294<ul>
67de15a0 295<li>Defined in <a href="https://github.com/poolifier/poolifier/blob/3db6a2b/src/pools/abstract-pool.ts#L387">src/pools/abstract-pool.ts:387</a></li></ul></aside></li></ul></section>
3bd6a82e 296<section class="tsd-panel tsd-member tsd-is-protected tsd-is-inherited"><a id="afterWorkerSetup" class="tsd-anchor"></a>
a76fac14 297<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>
3bd6a82e 298<ul class="tsd-signatures tsd-is-protected tsd-is-inherited">
8d1797ad 299<li class="tsd-signature tsd-anchor-link" id="afterWorkerSetup.afterWorkerSetup-1"><span class="tsd-kind-call-signature">after<wbr/>Worker<wbr/>Setup</span><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">worker</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">void</span><a href="#afterWorkerSetup.afterWorkerSetup-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>
a76fac14 300<li class="tsd-description">
6c525543 301<div class="tsd-comment tsd-typography"><p>Function that can be hooked up when a worker has been newly created and moved to the pool worker nodes.</p>
302<p>Can be used to update the <code>maxListeners</code> or binding the <code>main-worker</code>&lt;-&gt;<code>worker</code> connection if not bind by default.</p>
303</div>
a76fac14
JB
304<div class="tsd-parameters">
305<h4 class="tsd-parameters-title">Parameters</h4>
306<ul class="tsd-parameter-list">
307<li>
8d1797ad 308<h5><span class="tsd-kind-parameter">worker</span>: <a href="../types/ThreadWorkerWithMessageChannel.html" class="tsd-signature-type tsd-kind-type-alias">ThreadWorkerWithMessageChannel</a></h5>
6c525543 309<div class="tsd-comment tsd-typography"><p>The newly created worker.</p>
310</div></li></ul></div>
a76fac14
JB
311<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">void</span></h4><aside class="tsd-sources">
312<p>Inherited from <a href="FixedThreadPool.html">FixedThreadPool</a>.<a href="FixedThreadPool.html#afterWorkerSetup">afterWorkerSetup</a></p>
313<ul>
67de15a0 314<li>Defined in <a href="https://github.com/poolifier/poolifier/blob/3db6a2b/src/pools/thread/fixed.ts#L85">src/pools/thread/fixed.ts:85</a></li></ul></aside></li></ul></section>
3bd6a82e 315<section class="tsd-panel tsd-member tsd-is-protected tsd-is-inherited"><a id="beforeTaskExecutionHook" class="tsd-anchor"></a>
18ba88e2 316<h3 class="tsd-anchor-link"><code class="tsd-tag ts-flagProtected">Protected</code> <span>before<wbr/>Task<wbr/>Execution<wbr/>Hook</span><a href="#beforeTaskExecutionHook" 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>
3bd6a82e 317<ul class="tsd-signatures tsd-is-protected tsd-is-inherited">
8d1797ad 318<li class="tsd-signature tsd-anchor-link" id="beforeTaskExecutionHook.beforeTaskExecutionHook-1"><span class="tsd-kind-call-signature">before<wbr/>Task<wbr/>Execution<wbr/>Hook</span><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">workerNodeKey</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">void</span><a href="#beforeTaskExecutionHook.beforeTaskExecutionHook-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>
ed1ecf09 319<li class="tsd-description">
18ba88e2 320<div class="tsd-comment tsd-typography"><p>Hook executed before the worker task execution.
ed1ecf09
JB
321Can be overridden.</p>
322</div>
323<div class="tsd-parameters">
324<h4 class="tsd-parameters-title">Parameters</h4>
325<ul class="tsd-parameter-list">
326<li>
3bd6a82e 327<h5><span class="tsd-kind-parameter">workerNodeKey</span>: <span class="tsd-signature-type">number</span></h5>
ffc8d144 328<div class="tsd-comment tsd-typography"><p>The worker node key.</p>
ed1ecf09
JB
329</div></li></ul></div>
330<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">void</span></h4><aside class="tsd-sources">
18ba88e2 331<p>Inherited from <a href="FixedThreadPool.html">FixedThreadPool</a>.<a href="FixedThreadPool.html#beforeTaskExecutionHook">beforeTaskExecutionHook</a></p>
ed1ecf09 332<ul>
67de15a0 333<li>Defined in <a href="https://github.com/poolifier/poolifier/blob/3db6a2b/src/pools/abstract-pool.ts#L376">src/pools/abstract-pool.ts:376</a></li></ul></aside></li></ul></section>
3bd6a82e 334<section class="tsd-panel tsd-member tsd-is-protected tsd-is-inherited"><a id="chooseWorkerNode" class="tsd-anchor"></a>
ffc8d144 335<h3 class="tsd-anchor-link"><code class="tsd-tag ts-flagProtected">Protected</code> <span>choose<wbr/>Worker<wbr/>Node</span><a href="#chooseWorkerNode" 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>
3bd6a82e 336<ul class="tsd-signatures tsd-is-protected tsd-is-inherited">
8d1797ad 337<li class="tsd-signature tsd-anchor-link" id="chooseWorkerNode.chooseWorkerNode-1"><span class="tsd-kind-call-signature">choose<wbr/>Worker<wbr/>Node</span><span class="tsd-signature-symbol">(</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-symbol">[</span><span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">, </span><a href="../interfaces/WorkerNode.html" class="tsd-signature-type tsd-kind-interface">WorkerNode</a><span class="tsd-signature-symbol">&lt;</span><a href="../types/ThreadWorkerWithMessageChannel.html" class="tsd-signature-type tsd-kind-type-alias">ThreadWorkerWithMessageChannel</a><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type tsd-kind-type-parameter">Data</span><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">]</span><a href="#chooseWorkerNode.chooseWorkerNode-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>
a76fac14 338<li class="tsd-description">
ffc8d144 339<div class="tsd-comment tsd-typography"><p>Chooses a worker node for the next task.</p>
e604957d 340<p>The default uses a round robin algorithm to distribute the load.</p>
a76fac14 341</div>
fab6d3b5 342<h4 class="tsd-returns-title">Returns <span class="tsd-signature-symbol">[</span><span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">, </span><a href="../interfaces/WorkerNode.html" class="tsd-signature-type tsd-kind-interface">WorkerNode</a><span class="tsd-signature-symbol">&lt;</span><a href="../types/ThreadWorkerWithMessageChannel.html" class="tsd-signature-type tsd-kind-type-alias">ThreadWorkerWithMessageChannel</a><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type tsd-kind-type-parameter">Data</span><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">]</span></h4><p>[worker node key, worker node].</p>
343<aside class="tsd-sources">
ffc8d144 344<p>Inherited from <a href="FixedThreadPool.html">FixedThreadPool</a>.<a href="FixedThreadPool.html#chooseWorkerNode">chooseWorkerNode</a></p>
a76fac14 345<ul>
67de15a0 346<li>Defined in <a href="https://github.com/poolifier/poolifier/blob/3db6a2b/src/pools/abstract-pool.ts#L420">src/pools/abstract-pool.ts:420</a></li></ul></aside></li></ul></section>
3bd6a82e 347<section class="tsd-panel tsd-member tsd-is-protected tsd-is-inherited"><a id="createAndSetupWorker" class="tsd-anchor"></a>
a76fac14 348<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>
3bd6a82e 349<ul class="tsd-signatures tsd-is-protected tsd-is-inherited">
8d1797ad 350<li class="tsd-signature tsd-anchor-link" id="createAndSetupWorker.createAndSetupWorker-1"><span class="tsd-kind-call-signature">create<wbr/>And<wbr/>Setup<wbr/>Worker</span><span class="tsd-signature-symbol">(</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><a href="../types/ThreadWorkerWithMessageChannel.html" class="tsd-signature-type tsd-kind-type-alias">ThreadWorkerWithMessageChannel</a><a href="#createAndSetupWorker.createAndSetupWorker-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>
a76fac14 351<li class="tsd-description">
ffc8d144 352<div class="tsd-comment tsd-typography"><p>Creates a new worker and sets it up completely in the pool worker nodes.</p>
a76fac14 353</div>
fab6d3b5 354<h4 class="tsd-returns-title">Returns <a href="../types/ThreadWorkerWithMessageChannel.html" class="tsd-signature-type tsd-kind-type-alias">ThreadWorkerWithMessageChannel</a></h4><p>New, completely set up worker.</p>
355<aside class="tsd-sources">
a76fac14
JB
356<p>Inherited from <a href="FixedThreadPool.html">FixedThreadPool</a>.<a href="FixedThreadPool.html#createAndSetupWorker">createAndSetupWorker</a></p>
357<ul>
67de15a0 358<li>Defined in <a href="https://github.com/poolifier/poolifier/blob/3db6a2b/src/pools/abstract-pool.ts#L482">src/pools/abstract-pool.ts:482</a></li></ul></aside></li></ul></section>
3bd6a82e 359<section class="tsd-panel tsd-member tsd-is-protected tsd-is-inherited"><a id="createWorker" class="tsd-anchor"></a>
a76fac14 360<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>
3bd6a82e 361<ul class="tsd-signatures tsd-is-protected tsd-is-inherited">
8d1797ad 362<li class="tsd-signature tsd-anchor-link" id="createWorker.createWorker-1"><span class="tsd-kind-call-signature">create<wbr/>Worker</span><span class="tsd-signature-symbol">(</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><a href="../types/ThreadWorkerWithMessageChannel.html" class="tsd-signature-type tsd-kind-type-alias">ThreadWorkerWithMessageChannel</a><a href="#createWorker.createWorker-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>
a76fac14 363<li class="tsd-description">
6c525543 364<div class="tsd-comment tsd-typography"><p>Returns a newly created worker.</p>
365</div>
8d1797ad 366<h4 class="tsd-returns-title">Returns <a href="../types/ThreadWorkerWithMessageChannel.html" class="tsd-signature-type tsd-kind-type-alias">ThreadWorkerWithMessageChannel</a></h4><aside class="tsd-sources">
a76fac14
JB
367<p>Inherited from <a href="FixedThreadPool.html">FixedThreadPool</a>.<a href="FixedThreadPool.html#createWorker">createWorker</a></p>
368<ul>
67de15a0 369<li>Defined in <a href="https://github.com/poolifier/poolifier/blob/3db6a2b/src/pools/thread/fixed.ts#L78">src/pools/thread/fixed.ts:78</a></li></ul></aside></li></ul></section>
3bd6a82e 370<section class="tsd-panel tsd-member tsd-is-inherited"><a id="destroy" class="tsd-anchor"></a>
a76fac14 371<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>
3bd6a82e 372<ul class="tsd-signatures tsd-is-inherited">
8d1797ad 373<li class="tsd-signature tsd-anchor-link" id="destroy.destroy-1"><span class="tsd-kind-call-signature">destroy</span><span class="tsd-signature-symbol">(</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><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><a href="#destroy.destroy-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>
a76fac14 374<li class="tsd-description">
6c525543 375<div class="tsd-comment tsd-typography"><p>Shutdowns every current worker in this pool.</p>
376</div>
3bd6a82e 377<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">
a76fac14
JB
378<p>Inherited from <a href="FixedThreadPool.html">FixedThreadPool</a>.<a href="FixedThreadPool.html#destroy">destroy</a></p>
379<ul>
67de15a0 380<li>Defined in <a href="https://github.com/poolifier/poolifier/blob/3db6a2b/src/pools/abstract-pool.ts#L339">src/pools/abstract-pool.ts:339</a></li></ul></aside></li></ul></section>
3bd6a82e 381<section class="tsd-panel tsd-member tsd-is-protected tsd-is-inherited"><a id="destroyWorker" class="tsd-anchor"></a>
d6b93f1a 382<h3 class="tsd-anchor-link"><code class="tsd-tag ts-flagProtected">Protected</code> <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>
3bd6a82e 383<ul class="tsd-signatures tsd-is-protected tsd-is-inherited">
8d1797ad 384<li class="tsd-signature tsd-anchor-link" id="destroyWorker.destroyWorker-1"><span class="tsd-kind-call-signature">destroy<wbr/>Worker</span><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">worker</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><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><a href="#destroyWorker.destroyWorker-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>
a76fac14 385<li class="tsd-description">
6c525543 386<div class="tsd-comment tsd-typography"><p>Shutdowns the given worker.</p>
387</div>
a76fac14
JB
388<div class="tsd-parameters">
389<h4 class="tsd-parameters-title">Parameters</h4>
390<ul class="tsd-parameter-list">
391<li>
8d1797ad 392<h5><span class="tsd-kind-parameter">worker</span>: <a href="../types/ThreadWorkerWithMessageChannel.html" class="tsd-signature-type tsd-kind-type-alias">ThreadWorkerWithMessageChannel</a></h5>
6c525543 393<div class="tsd-comment tsd-typography"><p>A worker within <code>workerNodes</code>.</p>
394</div></li></ul></div>
3bd6a82e 395<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">
a76fac14
JB
396<p>Inherited from <a href="FixedThreadPool.html">FixedThreadPool</a>.<a href="FixedThreadPool.html#destroyWorker">destroyWorker</a></p>
397<ul>
67de15a0 398<li>Defined in <a href="https://github.com/poolifier/poolifier/blob/3db6a2b/src/pools/thread/fixed.ts#L54">src/pools/thread/fixed.ts:54</a></li></ul></aside></li></ul></section>
3bd6a82e 399<section class="tsd-panel tsd-member tsd-is-inherited"><a id="enableTasksQueue" class="tsd-anchor"></a>
6047493a 400<h3 class="tsd-anchor-link"><span>enable<wbr/>Tasks<wbr/>Queue</span><a href="#enableTasksQueue" 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>
3bd6a82e 401<ul class="tsd-signatures tsd-is-inherited">
8d1797ad 402<li class="tsd-signature tsd-anchor-link" id="enableTasksQueue.enableTasksQueue-1"><span class="tsd-kind-call-signature">enable<wbr/>Tasks<wbr/>Queue</span><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">enable</span>, <span class="tsd-kind-parameter">tasksQueueOptions</span><span class="tsd-signature-symbol">?</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">void</span><a href="#enableTasksQueue.enableTasksQueue-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>
6047493a 403<li class="tsd-description">
404<div class="tsd-comment tsd-typography"><p>Enables/disables the worker tasks queue in this pool.</p>
405</div>
406<div class="tsd-parameters">
407<h4 class="tsd-parameters-title">Parameters</h4>
408<ul class="tsd-parameter-list">
409<li>
3bd6a82e 410<h5><span class="tsd-kind-parameter">enable</span>: <span class="tsd-signature-type">boolean</span></h5>
6047493a 411<div class="tsd-comment tsd-typography"><p>Whether to enable or disable the worker tasks queue.</p>
412</div></li>
413<li>
8d1797ad 414<h5><code class="tsd-tag ts-flagOptional">Optional</code> <span class="tsd-kind-parameter">tasksQueueOptions</span>: <a href="../interfaces/TasksQueueOptions.html" class="tsd-signature-type tsd-kind-interface">TasksQueueOptions</a></h5>
d655c2c2 415<div class="tsd-comment tsd-typography"><p>The worker tasks queue options.</p>
416</div></li></ul></div>
6047493a 417<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">void</span></h4><aside class="tsd-sources">
418<p>Inherited from <a href="FixedThreadPool.html">FixedThreadPool</a>.<a href="FixedThreadPool.html#enableTasksQueue">enableTasksQueue</a></p>
419<ul>
67de15a0 420<li>Defined in <a href="https://github.com/poolifier/poolifier/blob/3db6a2b/src/pools/abstract-pool.ts#L255">src/pools/abstract-pool.ts:255</a></li></ul></aside></li></ul></section>
3bd6a82e 421<section class="tsd-panel tsd-member tsd-is-inherited"><a id="execute" class="tsd-anchor"></a>
a76fac14 422<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>
3bd6a82e 423<ul class="tsd-signatures tsd-is-inherited">
8d1797ad 424<li class="tsd-signature tsd-anchor-link" id="execute.execute-1"><span class="tsd-kind-call-signature">execute</span><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">data</span><span class="tsd-signature-symbol">?</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type ">Promise</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type tsd-kind-type-parameter">Response</span><span class="tsd-signature-symbol">&gt;</span><a href="#execute.execute-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>
a76fac14 425<li class="tsd-description">
761b0c73 426<div class="tsd-comment tsd-typography"><p>Executes the function specified in the worker constructor with the task data input parameter.</p>
6c525543 427</div>
a76fac14
JB
428<div class="tsd-parameters">
429<h4 class="tsd-parameters-title">Parameters</h4>
430<ul class="tsd-parameter-list">
431<li>
3bd6a82e 432<h5><code class="tsd-tag ts-flagOptional">Optional</code> <span class="tsd-kind-parameter">data</span>: <span class="tsd-signature-type tsd-kind-type-parameter">Data</span></h5>
761b0c73 433<div class="tsd-comment tsd-typography"><p>The task input data for the specified worker function. This can only be serializable data.</p>
6c525543 434</div></li></ul></div>
fab6d3b5 435<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 tsd-kind-type-parameter">Response</span><span class="tsd-signature-symbol">&gt;</span></h4><p>Promise that will be fulfilled when the task is completed.</p>
436<aside class="tsd-sources">
a76fac14
JB
437<p>Inherited from <a href="FixedThreadPool.html">FixedThreadPool</a>.<a href="FixedThreadPool.html#execute">execute</a></p>
438<ul>
67de15a0 439<li>Defined in <a href="https://github.com/poolifier/poolifier/blob/3db6a2b/src/pools/abstract-pool.ts#L308">src/pools/abstract-pool.ts:308</a></li></ul></aside></li></ul></section>
3bd6a82e 440<section class="tsd-panel tsd-member tsd-is-protected tsd-is-inherited"><a id="internalBusy" class="tsd-anchor"></a>
0770fe62 441<h3 class="tsd-anchor-link"><code class="tsd-tag ts-flagProtected">Protected</code> <span>internal<wbr/>Busy</span><a href="#internalBusy" 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>
3bd6a82e 442<ul class="tsd-signatures tsd-is-protected tsd-is-inherited">
8d1797ad 443<li class="tsd-signature tsd-anchor-link" id="internalBusy.internalBusy-1"><span class="tsd-kind-call-signature">internal<wbr/>Busy</span><span class="tsd-signature-symbol">(</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">boolean</span><a href="#internalBusy.internalBusy-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>
a76fac14
JB
444<li class="tsd-description">
445<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">boolean</span></h4><aside class="tsd-sources">
0770fe62 446<p>Inherited from <a href="FixedThreadPool.html">FixedThreadPool</a>.<a href="FixedThreadPool.html#internalBusy">internalBusy</a></p>
a76fac14 447<ul>
67de15a0 448<li>Defined in <a href="https://github.com/poolifier/poolifier/blob/3db6a2b/src/pools/abstract-pool.ts#L299">src/pools/abstract-pool.ts:299</a></li></ul></aside></li></ul></section>
3bd6a82e 449<section class="tsd-panel tsd-member tsd-is-protected tsd-is-inherited"><a id="isMain" class="tsd-anchor"></a>
a76fac14 450<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>
3bd6a82e 451<ul class="tsd-signatures tsd-is-protected tsd-is-inherited">
8d1797ad 452<li class="tsd-signature tsd-anchor-link" id="isMain.isMain-1"><span class="tsd-kind-call-signature">is<wbr/>Main</span><span class="tsd-signature-symbol">(</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">boolean</span><a href="#isMain.isMain-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>
a76fac14 453<li class="tsd-description">
6c525543 454<div class="tsd-comment tsd-typography"><p>Should return whether the worker is the main worker or not.</p>
455</div>
a76fac14
JB
456<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">boolean</span></h4><aside class="tsd-sources">
457<p>Inherited from <a href="FixedThreadPool.html">FixedThreadPool</a>.<a href="FixedThreadPool.html#isMain">isMain</a></p>
458<ul>
67de15a0 459<li>Defined in <a href="https://github.com/poolifier/poolifier/blob/3db6a2b/src/pools/thread/fixed.ts#L49">src/pools/thread/fixed.ts:49</a></li></ul></aside></li></ul></section>
3bd6a82e 460<section class="tsd-panel tsd-member tsd-is-protected tsd-is-inherited"><a id="registerWorkerMessageListener" class="tsd-anchor"></a>
d6b93f1a 461<h3 class="tsd-anchor-link"><code class="tsd-tag ts-flagProtected">Protected</code> <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>
3bd6a82e 462<ul class="tsd-signatures tsd-is-protected tsd-is-inherited">
8d1797ad 463<li class="tsd-signature tsd-anchor-link" id="registerWorkerMessageListener.registerWorkerMessageListener-1"><span class="tsd-kind-call-signature">register<wbr/>Worker<wbr/>Message<wbr/>Listener</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type tsd-kind-type-parameter">Message</span><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">worker</span>, <span class="tsd-kind-parameter">listener</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">void</span><a href="#registerWorkerMessageListener.registerWorkerMessageListener-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>
a76fac14 464<li class="tsd-description">
6c525543 465<div class="tsd-comment tsd-typography"><p>Registers a listener callback on the given worker.</p>
466</div>
fab6d3b5 467<section class="tsd-panel">
a76fac14 468<h4>Type Parameters</h4>
fab6d3b5 469<ul class="tsd-type-parameter-list">
a76fac14 470<li>
3bd6a82e 471<h4><span class="tsd-kind-type-parameter">Message</span></h4></li></ul></section>
a76fac14
JB
472<div class="tsd-parameters">
473<h4 class="tsd-parameters-title">Parameters</h4>
474<ul class="tsd-parameter-list">
475<li>
8d1797ad 476<h5><span class="tsd-kind-parameter">worker</span>: <a href="../types/ThreadWorkerWithMessageChannel.html" class="tsd-signature-type tsd-kind-type-alias">ThreadWorkerWithMessageChannel</a></h5>
6c525543 477<div class="tsd-comment tsd-typography"><p>The worker which should register a listener.</p>
478</div></li>
a76fac14 479<li>
3bd6a82e 480<h5><span class="tsd-kind-parameter">listener</span>: <span class="tsd-signature-symbol">(</span><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">message</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol"> =&gt; </span><span class="tsd-signature-type">void</span><span class="tsd-signature-symbol">)</span></h5>
6c525543 481<div class="tsd-comment tsd-typography"><p>The message listener callback.</p>
482</div>
a76fac14
JB
483<ul class="tsd-parameters">
484<li class="tsd-parameter-signature">
3bd6a82e 485<ul class="tsd-signatures">
486<li class="tsd-signature"><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">message</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">void</span></li>
a76fac14
JB
487<li class="tsd-description">
488<div class="tsd-parameters">
489<h4 class="tsd-parameters-title">Parameters</h4>
490<ul class="tsd-parameter-list">
491<li>
8d1797ad 492<h5><span class="tsd-kind-parameter">message</span>: <a href="../interfaces/MessageValue.html" class="tsd-signature-type tsd-kind-interface">MessageValue</a><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type tsd-kind-type-parameter">Message</span><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type">unknown</span><span class="tsd-signature-symbol">&gt;</span></h5></li></ul></div>
a76fac14
JB
493<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">void</span></h4></li></ul></li></ul></li></ul></div>
494<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">void</span></h4><aside class="tsd-sources">
495<p>Inherited from <a href="FixedThreadPool.html">FixedThreadPool</a>.<a href="FixedThreadPool.html#registerWorkerMessageListener">registerWorkerMessageListener</a></p>
496<ul>
67de15a0 497<li>Defined in <a href="https://github.com/poolifier/poolifier/blob/3db6a2b/src/pools/thread/fixed.ts#L70">src/pools/thread/fixed.ts:70</a></li></ul></aside></li></ul></section>
3bd6a82e 498<section class="tsd-panel tsd-member tsd-is-protected tsd-is-inherited"><a id="sendToWorker" class="tsd-anchor"></a>
a76fac14 499<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>
3bd6a82e 500<ul class="tsd-signatures tsd-is-protected tsd-is-inherited">
8d1797ad 501<li class="tsd-signature tsd-anchor-link" id="sendToWorker.sendToWorker-1"><span class="tsd-kind-call-signature">send<wbr/>To<wbr/>Worker</span><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">worker</span>, <span class="tsd-kind-parameter">message</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">void</span><a href="#sendToWorker.sendToWorker-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>
a76fac14 502<li class="tsd-description">
6c525543 503<div class="tsd-comment tsd-typography"><p>Sends a message to the given worker.</p>
504</div>
a76fac14
JB
505<div class="tsd-parameters">
506<h4 class="tsd-parameters-title">Parameters</h4>
507<ul class="tsd-parameter-list">
508<li>
8d1797ad 509<h5><span class="tsd-kind-parameter">worker</span>: <a href="../types/ThreadWorkerWithMessageChannel.html" class="tsd-signature-type tsd-kind-type-alias">ThreadWorkerWithMessageChannel</a></h5>
6c525543 510<div class="tsd-comment tsd-typography"><p>The worker which should receive the message.</p>
511</div></li>
a76fac14 512<li>
8d1797ad 513<h5><span class="tsd-kind-parameter">message</span>: <a href="../interfaces/MessageValue.html" class="tsd-signature-type tsd-kind-interface">MessageValue</a><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type tsd-kind-type-parameter">Data</span><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type">unknown</span><span class="tsd-signature-symbol">&gt;</span></h5>
6c525543 514<div class="tsd-comment tsd-typography"><p>The message.</p>
515</div></li></ul></div>
a76fac14
JB
516<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">void</span></h4><aside class="tsd-sources">
517<p>Inherited from <a href="FixedThreadPool.html">FixedThreadPool</a>.<a href="FixedThreadPool.html#sendToWorker">sendToWorker</a></p>
518<ul>
67de15a0 519<li>Defined in <a href="https://github.com/poolifier/poolifier/blob/3db6a2b/src/pools/thread/fixed.ts#L62">src/pools/thread/fixed.ts:62</a></li></ul></aside></li></ul></section>
3bd6a82e 520<section class="tsd-panel tsd-member tsd-is-inherited"><a id="setTasksQueueOptions" class="tsd-anchor"></a>
6047493a 521<h3 class="tsd-anchor-link"><span>set<wbr/>Tasks<wbr/>Queue<wbr/>Options</span><a href="#setTasksQueueOptions" 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>
3bd6a82e 522<ul class="tsd-signatures tsd-is-inherited">
8d1797ad 523<li class="tsd-signature tsd-anchor-link" id="setTasksQueueOptions.setTasksQueueOptions-1"><span class="tsd-kind-call-signature">set<wbr/>Tasks<wbr/>Queue<wbr/>Options</span><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">tasksQueueOptions</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">void</span><a href="#setTasksQueueOptions.setTasksQueueOptions-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>
6047493a 524<li class="tsd-description">
525<div class="tsd-comment tsd-typography"><p>Sets the worker tasks queue options in this pool.</p>
526</div>
527<div class="tsd-parameters">
528<h4 class="tsd-parameters-title">Parameters</h4>
529<ul class="tsd-parameter-list">
530<li>
8d1797ad 531<h5><span class="tsd-kind-parameter">tasksQueueOptions</span>: <a href="../interfaces/TasksQueueOptions.html" class="tsd-signature-type tsd-kind-interface">TasksQueueOptions</a></h5>
6047493a 532<div class="tsd-comment tsd-typography"><p>The worker tasks queue options.</p>
533</div></li></ul></div>
534<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">void</span></h4><aside class="tsd-sources">
535<p>Inherited from <a href="FixedThreadPool.html">FixedThreadPool</a>.<a href="FixedThreadPool.html#setTasksQueueOptions">setTasksQueueOptions</a></p>
536<ul>
67de15a0 537<li>Defined in <a href="https://github.com/poolifier/poolifier/blob/3db6a2b/src/pools/abstract-pool.ts#L267">src/pools/abstract-pool.ts:267</a></li></ul></aside></li></ul></section>
3bd6a82e 538<section class="tsd-panel tsd-member tsd-is-inherited"><a id="setWorkerChoiceStrategy" class="tsd-anchor"></a>
a76fac14 539<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>
3bd6a82e 540<ul class="tsd-signatures tsd-is-inherited">
8d1797ad 541<li class="tsd-signature tsd-anchor-link" id="setWorkerChoiceStrategy.setWorkerChoiceStrategy-1"><span class="tsd-kind-call-signature">set<wbr/>Worker<wbr/>Choice<wbr/>Strategy</span><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">workerChoiceStrategy</span>, <span class="tsd-kind-parameter">workerChoiceStrategyOptions</span><span class="tsd-signature-symbol">?</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>
a76fac14 542<li class="tsd-description">
6c525543 543<div class="tsd-comment tsd-typography"><p>Sets the worker choice strategy in this pool.</p>
544</div>
a76fac14
JB
545<div class="tsd-parameters">
546<h4 class="tsd-parameters-title">Parameters</h4>
547<ul class="tsd-parameter-list">
548<li>
3bd6a82e 549<h5><span class="tsd-kind-parameter">workerChoiceStrategy</span>: <span class="tsd-signature-type">&quot;ROUND_ROBIN&quot;</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">&quot;LESS_USED&quot;</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">&quot;LESS_BUSY&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>
6c525543 550<div class="tsd-comment tsd-typography"><p>The worker choice strategy.</p>
a8aeac44 551</div></li>
552<li>
8d1797ad 553<h5><code class="tsd-tag ts-flagOptional">Optional</code> <span class="tsd-kind-parameter">workerChoiceStrategyOptions</span>: <a href="../interfaces/WorkerChoiceStrategyOptions.html" class="tsd-signature-type tsd-kind-interface">WorkerChoiceStrategyOptions</a></h5>
a8aeac44 554<div class="tsd-comment tsd-typography"><p>The worker choice strategy options.</p>
6c525543 555</div></li></ul></div>
a76fac14
JB
556<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">void</span></h4><aside class="tsd-sources">
557<p>Inherited from <a href="FixedThreadPool.html">FixedThreadPool</a>.<a href="FixedThreadPool.html#setWorkerChoiceStrategy">setWorkerChoiceStrategy</a></p>
558<ul>
67de15a0 559<li>Defined in <a href="https://github.com/poolifier/poolifier/blob/3db6a2b/src/pools/abstract-pool.ts#L219">src/pools/abstract-pool.ts:219</a></li></ul></aside></li></ul></section>
3bd6a82e 560<section class="tsd-panel tsd-member tsd-is-inherited"><a id="setWorkerChoiceStrategyOptions" class="tsd-anchor"></a>
6047493a 561<h3 class="tsd-anchor-link"><span>set<wbr/>Worker<wbr/>Choice<wbr/>Strategy<wbr/>Options</span><a href="#setWorkerChoiceStrategyOptions" 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>
3bd6a82e 562<ul class="tsd-signatures tsd-is-inherited">
8d1797ad 563<li class="tsd-signature tsd-anchor-link" id="setWorkerChoiceStrategyOptions.setWorkerChoiceStrategyOptions-1"><span class="tsd-kind-call-signature">set<wbr/>Worker<wbr/>Choice<wbr/>Strategy<wbr/>Options</span><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">workerChoiceStrategyOptions</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">void</span><a href="#setWorkerChoiceStrategyOptions.setWorkerChoiceStrategyOptions-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>
6047493a 564<li class="tsd-description">
565<div class="tsd-comment tsd-typography"><p>Sets the worker choice strategy options in this pool.</p>
566</div>
567<div class="tsd-parameters">
568<h4 class="tsd-parameters-title">Parameters</h4>
569<ul class="tsd-parameter-list">
570<li>
8d1797ad 571<h5><span class="tsd-kind-parameter">workerChoiceStrategyOptions</span>: <a href="../interfaces/WorkerChoiceStrategyOptions.html" class="tsd-signature-type tsd-kind-interface">WorkerChoiceStrategyOptions</a></h5>
6047493a 572<div class="tsd-comment tsd-typography"><p>The worker choice strategy options.</p>
573</div></li></ul></div>
574<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">void</span></h4><aside class="tsd-sources">
575<p>Inherited from <a href="FixedThreadPool.html">FixedThreadPool</a>.<a href="FixedThreadPool.html#setWorkerChoiceStrategyOptions">setWorkerChoiceStrategyOptions</a></p>
576<ul>
67de15a0 577<li>Defined in <a href="https://github.com/poolifier/poolifier/blob/3db6a2b/src/pools/abstract-pool.ts#L245">src/pools/abstract-pool.ts:245</a></li></ul></aside></li></ul></section>
3bd6a82e 578<section class="tsd-panel tsd-member tsd-is-protected tsd-is-inherited"><a id="setupHook" class="tsd-anchor"></a>
a76fac14 579<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>
3bd6a82e 580<ul class="tsd-signatures tsd-is-protected tsd-is-inherited">
8d1797ad 581<li class="tsd-signature tsd-anchor-link" id="setupHook.setupHook-1"><span class="tsd-kind-call-signature">setup<wbr/>Hook</span><span class="tsd-signature-symbol">(</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">void</span><a href="#setupHook.setupHook-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>
a76fac14 582<li class="tsd-description">
18ba88e2 583<div class="tsd-comment tsd-typography"><p>Setup hook to execute code before worker node are created in the abstract constructor.
fa643634 584Can be overridden</p>
a76fac14
JB
585</div>
586<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">void</span></h4><aside class="tsd-sources">
587<p>Inherited from <a href="FixedThreadPool.html">FixedThreadPool</a>.<a href="FixedThreadPool.html#setupHook">setupHook</a></p>
588<ul>
67de15a0 589<li>Defined in <a href="https://github.com/poolifier/poolifier/blob/3db6a2b/src/pools/abstract-pool.ts#L361">src/pools/abstract-pool.ts:361</a></li></ul></aside></li></ul></section>
3bd6a82e 590<section class="tsd-panel tsd-member tsd-is-protected tsd-is-inherited"><a id="workerListener" class="tsd-anchor"></a>
a76fac14 591<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>
3bd6a82e 592<ul class="tsd-signatures tsd-is-protected tsd-is-inherited">
8d1797ad 593<li class="tsd-signature tsd-anchor-link" id="workerListener.workerListener-1"><span class="tsd-kind-call-signature">worker<wbr/>Listener</span><span class="tsd-signature-symbol">(</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-symbol">(</span><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">message</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol"> =&gt; </span><span class="tsd-signature-type">void</span><span class="tsd-signature-symbol">)</span><a href="#workerListener.workerListener-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>
a76fac14 594<li class="tsd-description">
ffc8d144 595<div class="tsd-comment tsd-typography"><p>This function is the listener registered for each worker message.</p>
a76fac14 596</div>
fab6d3b5 597<h4 class="tsd-returns-title">Returns <span class="tsd-signature-symbol">(</span><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">message</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol"> =&gt; </span><span class="tsd-signature-type">void</span><span class="tsd-signature-symbol">)</span></h4><p>The listener function to execute when a message is received from a worker.</p>
598
a76fac14
JB
599<ul class="tsd-parameters">
600<li class="tsd-parameter-signature">
3bd6a82e 601<ul class="tsd-signatures">
602<li class="tsd-signature" id="workerListener.workerListener-1.__type.__type-1"><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">message</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">void</span></li>
a76fac14 603<li class="tsd-description">
ffc8d144 604<div class="tsd-comment tsd-typography"><p>This function is the listener registered for each worker message.</p>
a76fac14
JB
605</div>
606<div class="tsd-parameters">
607<h4 class="tsd-parameters-title">Parameters</h4>
608<ul class="tsd-parameter-list">
609<li>
8d1797ad 610<h5><span class="tsd-kind-parameter">message</span>: <a href="../interfaces/MessageValue.html" class="tsd-signature-type tsd-kind-interface">MessageValue</a><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type 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></li></ul></div>
fab6d3b5 611<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">void</span></h4><p>The listener function to execute when a message is received from a worker.</p>
612</li></ul></li></ul><aside class="tsd-sources">
a76fac14
JB
613<p>Inherited from <a href="FixedThreadPool.html">FixedThreadPool</a>.<a href="FixedThreadPool.html#workerListener">workerListener</a></p>
614<ul>
67de15a0 615<li>Defined in <a href="https://github.com/poolifier/poolifier/blob/3db6a2b/src/pools/abstract-pool.ts#L505">src/pools/abstract-pool.ts:505</a></li></ul></aside></li></ul></section></section></div>
ec06e4dd 616<div class="col-sidebar">
617<div class="page-menu">
a76fac14
JB
618<div class="tsd-navigation settings">
619<details class="tsd-index-accordion"><summary class="tsd-accordion-summary">
ec06e4dd 620<h3><svg width="20" height="20" viewBox="0 0 24 24" fill="none"><path d="M4.93896 8.531L12 15.591L19.061 8.531L16.939 6.409L12 11.349L7.06098 6.409L4.93896 8.531Z" fill="var(--color-text)"></path></svg>Settings</h3></summary>
a76fac14
JB
621<div class="tsd-accordion-details">
622<div class="tsd-filter-visibility">
623<h4 class="uppercase">Member Visibility</h4><form>
624<ul id="tsd-filter-options">
625<li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-protected" name="protected"/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>Protected</span></label></li>
626<li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-private" name="private"/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>Private</span></label></li>
627<li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-inherited" name="inherited" checked/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>Inherited</span></label></li>
628<li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-external" name="external"/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>External</span></label></li></ul></form></div>
629<div class="tsd-theme-toggle">
3bd6a82e 630<h4 class="uppercase">Theme</h4><select id="tsd-theme"><option value="os">OS</option><option value="light">Light</option><option value="dark">Dark</option></select></div></div></details></div>
ec06e4dd 631<details open class="tsd-index-accordion tsd-page-navigation"><summary class="tsd-accordion-summary">
632<h3><svg width="20" height="20" viewBox="0 0 24 24" fill="none"><path d="M4.93896 8.531L12 15.591L19.061 8.531L16.939 6.409L12 11.349L7.06098 6.409L4.93896 8.531Z" fill="var(--color-text)"></path></svg>On This Page</h3></summary>
a76fac14
JB
633<div class="tsd-accordion-details">
634<ul>
3bd6a82e 635<li><a href="#constructor" class=""><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-512-path"></use><use href="#icon-512-text"></use></svg><span>constructor</span></a></li>
636<li><a href="#emitter" 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>emitter</span></a></li>
637<li><a href="#filePath" 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>file<wbr/>Path</span></a></li>
638<li><a href="#max" class=""><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>max</span></a></li>
639<li><a href="#numberOfWorkers" 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></li>
640<li><a href="#opts" 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></li>
641<li><a href="#promiseResponseMap" 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/>Response<wbr/>Map</span></a></li>
642<li><a href="#workerChoiceStrategyContext" 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></li>
643<li><a href="#workerNodes" 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>worker<wbr/>Nodes</span></a></li>
644<li><a href="#busy" class="tsd-is-protected"><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><span>busy</span></a></li>
645<li><a href="#full" class="tsd-is-protected"><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><span>full</span></a></li>
646<li><a href="#numberOfQueuedTasks" class="tsd-is-private tsd-is-inherited"><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><span>number<wbr/>Of<wbr/>Queued<wbr/>Tasks</span></a></li>
647<li><a href="#numberOfRunningTasks" class="tsd-is-private tsd-is-inherited"><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><span>number<wbr/>Of<wbr/>Running<wbr/>Tasks</span></a></li>
648<li><a href="#type" class=""><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><span>type</span></a></li>
649<li><a href="#afterTaskExecutionHook" 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/>Task<wbr/>Execution<wbr/>Hook</span></a></li>
650<li><a href="#afterWorkerSetup" 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></li>
651<li><a href="#beforeTaskExecutionHook" 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/>Task<wbr/>Execution<wbr/>Hook</span></a></li>
652<li><a href="#chooseWorkerNode" 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<wbr/>Node</span></a></li>
653<li><a href="#createAndSetupWorker" 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></li>
654<li><a href="#createWorker" 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></li>
655<li><a href="#destroy" 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></li>
656<li><a href="#destroyWorker" 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>destroy<wbr/>Worker</span></a></li>
657<li><a href="#enableTasksQueue" 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>enable<wbr/>Tasks<wbr/>Queue</span></a></li>
658<li><a href="#execute" 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></li>
3bd6a82e 659<li><a href="#internalBusy" 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/>Busy</span></a></li>
660<li><a href="#isMain" 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></li>
661<li><a href="#registerWorkerMessageListener" 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>register<wbr/>Worker<wbr/>Message<wbr/>Listener</span></a></li>
662<li><a href="#sendToWorker" 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>send<wbr/>To<wbr/>Worker</span></a></li>
663<li><a href="#setTasksQueueOptions" 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>set<wbr/>Tasks<wbr/>Queue<wbr/>Options</span></a></li>
664<li><a href="#setWorkerChoiceStrategy" 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>set<wbr/>Worker<wbr/>Choice<wbr/>Strategy</span></a></li>
665<li><a href="#setWorkerChoiceStrategyOptions" 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>set<wbr/>Worker<wbr/>Choice<wbr/>Strategy<wbr/>Options</span></a></li>
666<li><a href="#setupHook" 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>setup<wbr/>Hook</span></a></li>
667<li><a href="#workerListener" 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>worker<wbr/>Listener</span></a></li></ul></div></details></div>
ec06e4dd 668<div class="site-menu">
669<nav class="tsd-navigation"><a href="../index.html"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><rect fill="var(--color-icon-background)" stroke="var(--color-ts-namespace)" stroke-width="1.5" x="1" y="1" width="22" height="22" rx="6" id="icon-4-path"></rect><path d="M9.33 16V7.24H10.77L13.446 14.74C13.43 14.54 13.41 14.296 13.386 14.008C13.37 13.712 13.354 13.404 13.338 13.084C13.33 12.756 13.326 12.448 13.326 12.16V7.24H14.37V16H12.93L10.266 8.5C10.282 8.692 10.298 8.936 10.314 9.232C10.33 9.52 10.342 9.828 10.35 10.156C10.366 10.476 10.374 10.784 10.374 11.08V16H9.33Z" fill="var(--color-text)" id="icon-4-text"></path></svg><span>poolifier</span></a>
670<ul class="tsd-small-nested-navigation">
3bd6a82e 671<li><a href="../enums/PoolType.html"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><rect fill="var(--color-icon-background)" stroke="var(--color-ts-enum)" stroke-width="1.5" x="1" y="1" width="22" height="22" rx="6" id="icon-8-path"></rect><path d="M9.45 16V7.24H14.49V8.224H10.518V10.936H14.07V11.908H10.518V15.016H14.49V16H9.45Z" fill="var(--color-text)" id="icon-8-text"></path></svg><span>Pool<wbr/>Type</span></a></li>
672<li><a href="AbstractPool.html"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><rect fill="var(--color-icon-background)" stroke="var(--color-ts-class)" stroke-width="1.5" x="1" y="1" width="22" height="22" rx="6" id="icon-128-path"></rect><path d="M11.898 16.1201C11.098 16.1201 10.466 15.8961 10.002 15.4481C9.53803 15.0001 9.30603 14.3841 9.30603 13.6001V9.64012C9.30603 8.85612 9.53803 8.24012 10.002 7.79212C10.466 7.34412 11.098 7.12012 11.898 7.12012C12.682 7.12012 13.306 7.34812 13.77 7.80412C14.234 8.25212 14.466 8.86412 14.466 9.64012H13.386C13.386 9.14412 13.254 8.76412 12.99 8.50012C12.734 8.22812 12.37 8.09212 11.898 8.09212C11.426 8.09212 11.054 8.22412 10.782 8.48812C10.518 8.75212 10.386 9.13212 10.386 9.62812V13.6001C10.386 14.0961 10.518 14.4801 10.782 14.7521C11.054 15.0161 11.426 15.1481 11.898 15.1481C12.37 15.1481 12.734 15.0161 12.99 14.7521C13.254 14.4801 13.386 14.0961 13.386 13.6001H14.466C14.466 14.3761 14.234 14.9921 13.77 15.4481C13.306 15.8961 12.682 16.1201 11.898 16.1201Z" fill="var(--color-text)" id="icon-128-text"></path></svg><span>Abstract<wbr/>Pool</span></a></li>
673<li><a href="AbstractWorker.html"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-128-path"></use><use href="#icon-128-text"></use></svg><span>Abstract<wbr/>Worker</span></a></li>
674<li><a href="CircularArray.html"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-128-path"></use><use href="#icon-128-text"></use></svg><span>Circular<wbr/>Array</span></a></li>
675<li><a href="ClusterWorker.html"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-128-path"></use><use href="#icon-128-text"></use></svg><span>Cluster<wbr/>Worker</span></a></li>
676<li><a href="DynamicClusterPool.html"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-128-path"></use><use href="#icon-128-text"></use></svg><span>Dynamic<wbr/>Cluster<wbr/>Pool</span></a></li>
677<li><a href="DynamicThreadPool.html" class="current"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-128-path"></use><use href="#icon-128-text"></use></svg><span>Dynamic<wbr/>Thread<wbr/>Pool</span></a></li>
678<li><a href="FixedClusterPool.html"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-128-path"></use><use href="#icon-128-text"></use></svg><span>Fixed<wbr/>Cluster<wbr/>Pool</span></a></li>
679<li><a href="FixedThreadPool.html"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-128-path"></use><use href="#icon-128-text"></use></svg><span>Fixed<wbr/>Thread<wbr/>Pool</span></a></li>
680<li><a href="PoolEmitter.html"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-128-path"></use><use href="#icon-128-text"></use></svg><span>Pool<wbr/>Emitter</span></a></li>
3a592a12 681<li><a href="Queue.html"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-128-path"></use><use href="#icon-128-text"></use></svg><span>Queue</span></a></li>
3bd6a82e 682<li><a href="ThreadWorker.html"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-128-path"></use><use href="#icon-128-text"></use></svg><span>Thread<wbr/>Worker</span></a></li>
683<li><a href="WorkerChoiceStrategyContext.html"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-128-path"></use><use href="#icon-128-text"></use></svg><span>Worker<wbr/>Choice<wbr/>Strategy<wbr/>Context</span></a></li>
684<li><a href="../interfaces/ClusterPoolOptions.html"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><rect fill="var(--color-icon-background)" stroke="var(--color-ts-interface)" stroke-width="1.5" x="1" y="1" width="22" height="22" rx="6" id="icon-256-path"></rect><path d="M9.51 16V15.016H11.298V8.224H9.51V7.24H14.19V8.224H12.402V15.016H14.19V16H9.51Z" fill="var(--color-text)" id="icon-256-text"></path></svg><span>Cluster<wbr/>Pool<wbr/>Options</span></a></li>
685<li><a href="../interfaces/IPool.html"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-256-path"></use><use href="#icon-256-text"></use></svg><span>IPool</span></a></li>
686<li><a href="../interfaces/IWorker.html"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-256-path"></use><use href="#icon-256-text"></use></svg><span>IWorker</span></a></li>
687<li><a href="../interfaces/IWorkerChoiceStrategy.html"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-256-path"></use><use href="#icon-256-text"></use></svg><span>IWorker<wbr/>Choice<wbr/>Strategy</span></a></li>
688<li><a href="../interfaces/MessageValue.html"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-256-path"></use><use href="#icon-256-text"></use></svg><span>Message<wbr/>Value</span></a></li>
689<li><a href="../interfaces/PoolOptions.html"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-256-path"></use><use href="#icon-256-text"></use></svg><span>Pool<wbr/>Options</span></a></li>
690<li><a href="../interfaces/PromiseResponseWrapper.html"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-256-path"></use><use href="#icon-256-text"></use></svg><span>Promise<wbr/>Response<wbr/>Wrapper</span></a></li>
691<li><a href="../interfaces/RequiredStatistics.html"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-256-path"></use><use href="#icon-256-text"></use></svg><span>Required<wbr/>Statistics</span></a></li>
692<li><a href="../interfaces/Task.html"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-256-path"></use><use href="#icon-256-text"></use></svg><span>Task</span></a></li>
693<li><a href="../interfaces/TasksQueueOptions.html"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-256-path"></use><use href="#icon-256-text"></use></svg><span>Tasks<wbr/>Queue<wbr/>Options</span></a></li>
694<li><a href="../interfaces/TasksUsage.html"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-256-path"></use><use href="#icon-256-text"></use></svg><span>Tasks<wbr/>Usage</span></a></li>
695<li><a href="../interfaces/WorkerChoiceStrategyOptions.html"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-256-path"></use><use href="#icon-256-text"></use></svg><span>Worker<wbr/>Choice<wbr/>Strategy<wbr/>Options</span></a></li>
696<li><a href="../interfaces/WorkerNode.html"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-256-path"></use><use href="#icon-256-text"></use></svg><span>Worker<wbr/>Node</span></a></li>
697<li><a href="../interfaces/WorkerOptions.html"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-256-path"></use><use href="#icon-256-text"></use></svg><span>Worker<wbr/>Options</span></a></li>
698<li><a href="../types/Draft.html"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><rect fill="var(--color-icon-background)" stroke="var(--color-ts-type-alias)" stroke-width="1.5" x="1" y="1" width="22" height="22" rx="6" id="icon-4194304-path"></rect><path d="M11.31 16V8.224H8.91V7.24H14.79V8.224H12.39V16H11.31Z" fill="var(--color-text)" id="icon-4194304-text"></path></svg><span>Draft</span></a></li>
699<li><a href="../types/ErrorHandler.html"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-4194304-path"></use><use href="#icon-4194304-text"></use></svg><span>Error<wbr/>Handler</span></a></li>
700<li><a href="../types/ExitHandler.html"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-4194304-path"></use><use href="#icon-4194304-text"></use></svg><span>Exit<wbr/>Handler</span></a></li>
701<li><a href="../types/KillBehavior.html"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-4194304-path"></use><use href="#icon-4194304-text"></use></svg><span>Kill<wbr/>Behavior</span></a></li>
702<li><a href="../types/MessageHandler.html"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-4194304-path"></use><use href="#icon-4194304-text"></use></svg><span>Message<wbr/>Handler</span></a></li>
703<li><a href="../types/OnlineHandler.html"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-4194304-path"></use><use href="#icon-4194304-text"></use></svg><span>Online<wbr/>Handler</span></a></li>
704<li><a href="../types/PoolEvent.html"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-4194304-path"></use><use href="#icon-4194304-text"></use></svg><span>Pool<wbr/>Event</span></a></li>
705<li><a href="../types/ThreadWorkerWithMessageChannel.html"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-4194304-path"></use><use href="#icon-4194304-text"></use></svg><span>Thread<wbr/>Worker<wbr/>With<wbr/>Message<wbr/>Channel</span></a></li>
706<li><a href="../types/WorkerAsyncFunction.html"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-4194304-path"></use><use href="#icon-4194304-text"></use></svg><span>Worker<wbr/>Async<wbr/>Function</span></a></li>
707<li><a href="../types/WorkerChoiceStrategy.html"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-4194304-path"></use><use href="#icon-4194304-text"></use></svg><span>Worker<wbr/>Choice<wbr/>Strategy</span></a></li>
708<li><a href="../types/WorkerFunction.html"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-4194304-path"></use><use href="#icon-4194304-text"></use></svg><span>Worker<wbr/>Function</span></a></li>
709<li><a href="../types/WorkerSyncFunction.html"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-4194304-path"></use><use href="#icon-4194304-text"></use></svg><span>Worker<wbr/>Sync<wbr/>Function</span></a></li>
710<li><a href="../variables/KillBehaviors.html"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><rect fill="var(--color-icon-background)" stroke="var(--color-ts-variable)" stroke-width="1.5" x="1" y="1" width="22" height="22" rx="6" id="icon-32-path"></rect><path d="M11.106 16L8.85 7.24H9.966L11.454 13.192C11.558 13.608 11.646 13.996 11.718 14.356C11.79 14.708 11.842 14.976 11.874 15.16C11.906 14.976 11.954 14.708 12.018 14.356C12.09 13.996 12.178 13.608 12.282 13.192L13.758 7.24H14.85L12.582 16H11.106Z" fill="var(--color-text)" id="icon-32-text"></path></svg><span>Kill<wbr/>Behaviors</span></a></li>
711<li><a href="../variables/PoolEvents.html"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-32-path"></use><use href="#icon-32-text"></use></svg><span>Pool<wbr/>Events</span></a></li>
712<li><a href="../variables/WorkerChoiceStrategies.html"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-32-path"></use><use href="#icon-32-text"></use></svg><span>Worker<wbr/>Choice<wbr/>Strategies</span></a></li></ul></nav></div></div></div>
ec06e4dd 713<div class="tsd-generator">
a76fac14 714<p>Generated using <a href="https://typedoc.org/" target="_blank">TypeDoc</a></p></div>
ec06e4dd 715<div class="overlay"></div></body></html>