docs: refine README.md
[poolifier.git] / docs / classes / ThreadWorker.html
index f7ea256d198a568b1f5f1567abbc9df87281ac9c..bd7cbabcbb4aeba6822b9c90262425cdc956602c 100644 (file)
@@ -47,7 +47,7 @@ but the minimum number of workers will be guaranteed.</p>
 <ul class="tsd-hierarchy">
 <li><span class="target">ThreadWorker</span></li></ul></li></ul></section><aside class="tsd-sources">
 <ul>
-<li>Defined in <a href="https://github.com/poolifier/poolifier/blob/922a735/src/worker/thread-worker.ts#L26">src/worker/thread-worker.ts:26</a></li></ul></aside>
+<li>Defined in <a href="https://github.com/poolifier/poolifier/blob/3557031/src/worker/thread-worker.ts#L26">src/worker/thread-worker.ts:26</a></li></ul></aside>
 <section class="tsd-panel-group tsd-index-group">
 <section class="tsd-panel tsd-index-panel">
 <details class="tsd-index-content tsd-index-accordion" open><summary class="tsd-accordion-summary tsd-index-summary">
@@ -73,16 +73,21 @@ but the minimum number of workers will be guaranteed.</p>
 </div></section>
 <section class="tsd-index-section">
 <h3 class="tsd-index-heading">Methods</h3>
-<div class="tsd-index-list"><a href="ThreadWorker.html#asyncId" class="tsd-index-link tsd-is-inherited tsd-is-external"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><g id="icon-2048"><rect fill="var(--color-icon-background)" stroke="#FF4DB8" stroke-width="1.5" x="1" y="1" width="22" height="22" rx="12"></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)"></path></g></svg><span>async<wbr/>Id</span></a>
+<div class="tsd-index-list"><a href="ThreadWorker.html#addTaskFunction" class="tsd-index-link tsd-is-inherited"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><g id="icon-2048"><rect fill="var(--color-icon-background)" stroke="#FF4DB8" stroke-width="1.5" x="1" y="1" width="22" height="22" rx="12"></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)"></path></g></svg><span>add<wbr/>Task<wbr/>Function</span></a>
+<a href="ThreadWorker.html#asyncId" class="tsd-index-link tsd-is-inherited tsd-is-external"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-2048"></use></svg><span>async<wbr/>Id</span></a>
 <a href="ThreadWorker.html#bind" class="tsd-index-link tsd-is-inherited tsd-is-external"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-2048"></use></svg><span>bind</span></a>
 <a href="ThreadWorker.html#emitDestroy" class="tsd-index-link tsd-is-inherited tsd-is-external"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-2048"></use></svg><span>emit<wbr/>Destroy</span></a>
 <a href="ThreadWorker.html#getMainWorker" class="tsd-index-link tsd-is-protected tsd-is-inherited"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-2048"></use></svg><span>get<wbr/>Main<wbr/>Worker</span></a>
 <a href="ThreadWorker.html#handleError" class="tsd-index-link tsd-is-protected"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-2048"></use></svg><span>handle<wbr/>Error</span></a>
+<a href="ThreadWorker.html#hasTaskFunction" class="tsd-index-link tsd-is-inherited"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-2048"></use></svg><span>has<wbr/>Task<wbr/>Function</span></a>
 <a href="ThreadWorker.html#messageListener" class="tsd-index-link tsd-is-protected tsd-is-inherited"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-2048"></use></svg><span>message<wbr/>Listener</span></a>
+<a href="ThreadWorker.html#removeTaskFunction" class="tsd-index-link tsd-is-inherited"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-2048"></use></svg><span>remove<wbr/>Task<wbr/>Function</span></a>
+<a href="ThreadWorker.html#run" class="tsd-index-link tsd-is-protected tsd-is-inherited"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-2048"></use></svg><span>run</span></a>
 <a href="ThreadWorker.html#runAsync" class="tsd-index-link tsd-is-protected tsd-is-inherited"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-2048"></use></svg><span>run<wbr/>Async</span></a>
 <a href="ThreadWorker.html#runInAsyncScope" class="tsd-index-link tsd-is-inherited tsd-is-external"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-2048"></use></svg><span>run<wbr/>In<wbr/>Async<wbr/>Scope</span></a>
 <a href="ThreadWorker.html#runSync" class="tsd-index-link tsd-is-protected tsd-is-inherited"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-2048"></use></svg><span>run<wbr/>Sync</span></a>
 <a href="ThreadWorker.html#sendToMainWorker" class="tsd-index-link tsd-is-protected"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-2048"></use></svg><span>send<wbr/>To<wbr/>Main<wbr/>Worker</span></a>
+<a href="ThreadWorker.html#setDefaultTaskFunction" class="tsd-index-link tsd-is-inherited"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-2048"></use></svg><span>set<wbr/>Default<wbr/>Task<wbr/>Function</span></a>
 <a href="ThreadWorker.html#triggerAsyncId" class="tsd-index-link tsd-is-inherited tsd-is-external"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-2048"></use></svg><span>trigger<wbr/>Async<wbr/>Id</span></a>
 <a href="ThreadWorker.html#workerReady" class="tsd-index-link tsd-is-protected tsd-is-inherited"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-2048"></use></svg><span>worker<wbr/>Ready</span></a>
 <a href="ThreadWorker.html#bind-2" class="tsd-index-link tsd-is-inherited tsd-is-external"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-2048"></use></svg><span>bind</span></a>
@@ -120,7 +125,7 @@ but the minimum number of workers will be guaranteed.</p>
 <div class="tsd-comment tsd-typography"></div><aside class="tsd-sources">
 <p>Overrides <a href="AbstractWorker.html">AbstractWorker</a>.<a href="AbstractWorker.html#constructor">constructor</a></p>
 <ul>
-<li>Defined in <a href="https://github.com/poolifier/poolifier/blob/922a735/src/worker/thread-worker.ts#L36">src/worker/thread-worker.ts:36</a></li></ul></aside></li></ul></section></section>
+<li>Defined in <a href="https://github.com/poolifier/poolifier/blob/3557031/src/worker/thread-worker.ts#L36">src/worker/thread-worker.ts:36</a></li></ul></aside></li></ul></section></section>
 <section class="tsd-panel-group tsd-member-group">
 <h2>Properties</h2>
 <section class="tsd-panel tsd-member tsd-is-protected tsd-is-inherited"><a id="aliveInterval" class="tsd-anchor"></a>
@@ -131,7 +136,7 @@ but the minimum number of workers will be guaranteed.</p>
 <div class="tsd-comment tsd-typography"></div><aside class="tsd-sources">
 <p>Inherited from <a href="AbstractWorker.html">AbstractWorker</a>.<a href="AbstractWorker.html#aliveInterval">aliveInterval</a></p>
 <ul>
-<li>Defined in <a href="https://github.com/poolifier/poolifier/blob/922a735/src/worker/abstract-worker.ts#L58">src/worker/abstract-worker.ts:58</a></li></ul></aside></section>
+<li>Defined in <a href="https://github.com/poolifier/poolifier/blob/3557031/src/worker/abstract-worker.ts#L63">src/worker/abstract-worker.ts:63</a></li></ul></aside></section>
 <section class="tsd-panel tsd-member tsd-is-protected tsd-is-inherited"><a id="isMain" class="tsd-anchor"></a>
 <h3 class="tsd-anchor-link"><code class="tsd-tag ts-flagProtected">Protected</code> <code class="tsd-tag ts-flagReadonly">Readonly</code> <span>is<wbr/>Main</span><a href="#isMain" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="#icon-anchor"></use></svg></a></h3>
 <div class="tsd-signature"><span class="tsd-kind-property">is<wbr/>Main</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">boolean</span></div>
@@ -140,7 +145,7 @@ but the minimum number of workers will be guaranteed.</p>
 <div class="tsd-comment tsd-typography"></div><aside class="tsd-sources">
 <p>Inherited from <a href="AbstractWorker.html">AbstractWorker</a>.<a href="AbstractWorker.html#isMain">isMain</a></p>
 <ul>
-<li>Defined in <a href="https://github.com/poolifier/poolifier/blob/922a735/src/worker/abstract-worker.ts#L70">src/worker/abstract-worker.ts:70</a></li></ul></aside></section>
+<li>Defined in <a href="https://github.com/poolifier/poolifier/blob/3557031/src/worker/abstract-worker.ts#L75">src/worker/abstract-worker.ts:75</a></li></ul></aside></section>
 <section class="tsd-panel tsd-member tsd-is-protected tsd-is-inherited"><a id="lastTaskTimestamp" class="tsd-anchor"></a>
 <h3 class="tsd-anchor-link"><code class="tsd-tag ts-flagProtected">Protected</code> <span>last<wbr/>Task<wbr/>Timestamp</span><a href="#lastTaskTimestamp" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="#icon-anchor"></use></svg></a></h3>
 <div class="tsd-signature"><span class="tsd-kind-property">last<wbr/>Task<wbr/>Timestamp</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">number</span></div>
@@ -149,7 +154,7 @@ but the minimum number of workers will be guaranteed.</p>
 <div class="tsd-comment tsd-typography"></div><aside class="tsd-sources">
 <p>Inherited from <a href="AbstractWorker.html">AbstractWorker</a>.<a href="AbstractWorker.html#lastTaskTimestamp">lastTaskTimestamp</a></p>
 <ul>
-<li>Defined in <a href="https://github.com/poolifier/poolifier/blob/922a735/src/worker/abstract-worker.ts#L50">src/worker/abstract-worker.ts:50</a></li></ul></aside></section>
+<li>Defined in <a href="https://github.com/poolifier/poolifier/blob/3557031/src/worker/abstract-worker.ts#L55">src/worker/abstract-worker.ts:55</a></li></ul></aside></section>
 <section class="tsd-panel tsd-member tsd-is-protected tsd-is-inherited"><a id="mainWorker" class="tsd-anchor"></a>
 <h3 class="tsd-anchor-link"><code class="tsd-tag ts-flagProtected">Protected</code> <code class="tsd-tag ts-flagReadonly">Readonly</code> <span>main<wbr/>Worker</span><a href="#mainWorker" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="#icon-anchor"></use></svg></a></h3>
 <div class="tsd-signature"><span class="tsd-kind-property">main<wbr/>Worker</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type ">MessagePort</span></div>
@@ -158,7 +163,7 @@ but the minimum number of workers will be guaranteed.</p>
 <div class="tsd-comment tsd-typography"></div><aside class="tsd-sources">
 <p>Inherited from <a href="AbstractWorker.html">AbstractWorker</a>.<a href="AbstractWorker.html#mainWorker">mainWorker</a></p>
 <ul>
-<li>Defined in <a href="https://github.com/poolifier/poolifier/blob/922a735/src/worker/abstract-worker.ts#L74">src/worker/abstract-worker.ts:74</a></li></ul></aside></section>
+<li>Defined in <a href="https://github.com/poolifier/poolifier/blob/3557031/src/worker/abstract-worker.ts#L79">src/worker/abstract-worker.ts:79</a></li></ul></aside></section>
 <section class="tsd-panel tsd-member tsd-is-protected tsd-is-inherited"><a id="opts" class="tsd-anchor"></a>
 <h3 class="tsd-anchor-link"><code class="tsd-tag ts-flagProtected">Protected</code> <code class="tsd-tag ts-flagReadonly">Readonly</code> <span>opts</span><a href="#opts" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="#icon-anchor"></use></svg></a></h3>
 <div class="tsd-signature"><span class="tsd-kind-property">opts</span><span class="tsd-signature-symbol">:</span> <a href="../interfaces/WorkerOptions.html" class="tsd-signature-type tsd-kind-interface">WorkerOptions</a><span class="tsd-signature-symbol"> = ...</span></div>
@@ -167,7 +172,7 @@ but the minimum number of workers will be guaranteed.</p>
 <div class="tsd-comment tsd-typography"></div><aside class="tsd-sources">
 <p>Inherited from <a href="AbstractWorker.html">AbstractWorker</a>.<a href="AbstractWorker.html#opts">opts</a></p>
 <ul>
-<li>Defined in <a href="https://github.com/poolifier/poolifier/blob/922a735/src/worker/abstract-worker.ts#L75">src/worker/abstract-worker.ts:75</a></li></ul></aside></section>
+<li>Defined in <a href="https://github.com/poolifier/poolifier/blob/3557031/src/worker/abstract-worker.ts#L80">src/worker/abstract-worker.ts:80</a></li></ul></aside></section>
 <section class="tsd-panel tsd-member tsd-is-protected tsd-is-inherited"><a id="statistics" class="tsd-anchor"></a>
 <h3 class="tsd-anchor-link"><code class="tsd-tag ts-flagProtected">Protected</code> <span>statistics</span><a href="#statistics" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="#icon-anchor"></use></svg></a></h3>
 <div class="tsd-signature"><span class="tsd-kind-property">statistics</span><span class="tsd-signature-symbol">:</span> <a href="../interfaces/WorkerStatistics.html" class="tsd-signature-type tsd-kind-interface">WorkerStatistics</a></div>
@@ -176,7 +181,7 @@ but the minimum number of workers will be guaranteed.</p>
 <div class="tsd-comment tsd-typography"></div><aside class="tsd-sources">
 <p>Inherited from <a href="AbstractWorker.html">AbstractWorker</a>.<a href="AbstractWorker.html#statistics">statistics</a></p>
 <ul>
-<li>Defined in <a href="https://github.com/poolifier/poolifier/blob/922a735/src/worker/abstract-worker.ts#L54">src/worker/abstract-worker.ts:54</a></li></ul></aside></section>
+<li>Defined in <a href="https://github.com/poolifier/poolifier/blob/3557031/src/worker/abstract-worker.ts#L59">src/worker/abstract-worker.ts:59</a></li></ul></aside></section>
 <section class="tsd-panel tsd-member tsd-is-protected tsd-is-inherited"><a id="taskFunctions" class="tsd-anchor"></a>
 <h3 class="tsd-anchor-link"><code class="tsd-tag ts-flagProtected">Protected</code> <span>task<wbr/>Functions</span><a href="#taskFunctions" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="#icon-anchor"></use></svg></a></h3>
 <div class="tsd-signature"><span class="tsd-kind-property">task<wbr/>Functions</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="../types/WorkerFunction.html" class="tsd-signature-type tsd-kind-type-alias">WorkerFunction</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><span class="tsd-signature-symbol">&gt;</span></div>
@@ -185,7 +190,7 @@ but the minimum number of workers will be guaranteed.</p>
 <div class="tsd-comment tsd-typography"></div><aside class="tsd-sources">
 <p>Inherited from <a href="AbstractWorker.html">AbstractWorker</a>.<a href="AbstractWorker.html#taskFunctions">taskFunctions</a></p>
 <ul>
-<li>Defined in <a href="https://github.com/poolifier/poolifier/blob/922a735/src/worker/abstract-worker.ts#L46">src/worker/abstract-worker.ts:46</a></li></ul></aside></section></section>
+<li>Defined in <a href="https://github.com/poolifier/poolifier/blob/3557031/src/worker/abstract-worker.ts#L51">src/worker/abstract-worker.ts:51</a></li></ul></aside></section></section>
 <section class="tsd-panel-group tsd-member-group">
 <h2>Accessors</h2>
 <section class="tsd-panel tsd-member tsd-is-protected"><a id="id" class="tsd-anchor"></a>
@@ -199,9 +204,42 @@ but the minimum number of workers will be guaranteed.</p>
 <div class="tsd-comment tsd-typography"></div><aside class="tsd-sources">
 <p>Overrides AbstractWorker.id</p>
 <ul>
-<li>Defined in <a href="https://github.com/poolifier/poolifier/blob/922a735/src/worker/thread-worker.ts#L51">src/worker/thread-worker.ts:51</a></li></ul></aside></li></ul></section></section>
+<li>Defined in <a href="https://github.com/poolifier/poolifier/blob/3557031/src/worker/thread-worker.ts#L51">src/worker/thread-worker.ts:51</a></li></ul></aside></li></ul></section></section>
 <section class="tsd-panel-group tsd-member-group">
 <h2>Methods</h2>
+<section class="tsd-panel tsd-member tsd-is-inherited"><a id="addTaskFunction" class="tsd-anchor"></a>
+<h3 class="tsd-anchor-link"><span>add<wbr/>Task<wbr/>Function</span><a href="#addTaskFunction" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="#icon-anchor"></use></svg></a></h3>
+<ul class="tsd-signatures tsd-is-inherited">
+<li class="tsd-signature tsd-anchor-link" id="addTaskFunction.addTaskFunction-1"><span class="tsd-kind-call-signature">add<wbr/>Task<wbr/>Function</span><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">name</span>, <span class="tsd-kind-parameter">fn</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">boolean</span><a href="#addTaskFunction.addTaskFunction-1" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="#icon-anchor"></use></svg></a></li>
+<li class="tsd-description">
+<div class="tsd-comment tsd-typography"><p>Adds a task function to the worker.
+If a task function with the same name already exists, it is replaced.</p>
+</div>
+<div class="tsd-parameters">
+<h4 class="tsd-parameters-title">Parameters</h4>
+<ul class="tsd-parameter-list">
+<li>
+<h5><span class="tsd-kind-parameter">name</span>: <span class="tsd-signature-type">string</span></h5>
+<div class="tsd-comment tsd-typography"><p>The name of the task function to add.</p>
+</div>
+<div class="tsd-comment tsd-typography"></div></li>
+<li>
+<h5><span class="tsd-kind-parameter">fn</span>: <a href="../types/WorkerFunction.html" class="tsd-signature-type tsd-kind-type-alias">WorkerFunction</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></h5>
+<div class="tsd-comment tsd-typography"><p>The task function to add.</p>
+</div>
+<div class="tsd-comment tsd-typography"></div></li></ul></div>
+<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">boolean</span></h4><p>Whether the task function was added or not.</p>
+
+<div class="tsd-comment tsd-typography">
+<h4>Throws</h4><p><a href="https://nodejs.org/api/errors.html#class-typeerror">https://nodejs.org/api/errors.html#class-typeerror</a> If the <code>name</code> parameter is not a string.</p>
+
+<h4>Throws</h4><p><a href="https://nodejs.org/api/errors.html#class-error">https://nodejs.org/api/errors.html#class-error</a> If the <code>name</code> parameter is the default task function reserved name.</p>
+
+<h4>Throws</h4><p><a href="https://nodejs.org/api/errors.html#class-typeerror">https://nodejs.org/api/errors.html#class-typeerror</a> If the <code>fn</code> parameter is not a function.</p>
+</div><aside class="tsd-sources">
+<p>Inherited from <a href="AbstractWorker.html">AbstractWorker</a>.<a href="AbstractWorker.html#addTaskFunction">addTaskFunction</a></p>
+<ul>
+<li>Defined in <a href="https://github.com/poolifier/poolifier/blob/3557031/src/worker/abstract-worker.ts#L172">src/worker/abstract-worker.ts:172</a></li></ul></aside></li></ul></section>
 <section class="tsd-panel tsd-member tsd-is-inherited tsd-is-external"><a id="asyncId" class="tsd-anchor"></a>
 <h3 class="tsd-anchor-link"><span>async<wbr/>Id</span><a href="#asyncId" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="#icon-anchor"></use></svg></a></h3>
 <ul class="tsd-signatures tsd-is-inherited tsd-is-external">
@@ -268,7 +306,7 @@ never be called.</p>
 <div class="tsd-comment tsd-typography"></div><aside class="tsd-sources">
 <p>Inherited from <a href="AbstractWorker.html">AbstractWorker</a>.<a href="AbstractWorker.html#getMainWorker">getMainWorker</a></p>
 <ul>
-<li>Defined in <a href="https://github.com/poolifier/poolifier/blob/922a735/src/worker/abstract-worker.ts#L217">src/worker/abstract-worker.ts:217</a></li></ul></aside></li></ul></section>
+<li>Defined in <a href="https://github.com/poolifier/poolifier/blob/3557031/src/worker/abstract-worker.ts#L336">src/worker/abstract-worker.ts:336</a></li></ul></aside></li></ul></section>
 <section class="tsd-panel tsd-member tsd-is-protected"><a id="handleError" class="tsd-anchor"></a>
 <h3 class="tsd-anchor-link"><code class="tsd-tag ts-flagProtected">Protected</code> <span>handle<wbr/>Error</span><a href="#handleError" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="#icon-anchor"></use></svg></a></h3>
 <ul class="tsd-signatures tsd-is-protected">
@@ -289,7 +327,30 @@ never be called.</p>
 <div class="tsd-comment tsd-typography"></div><aside class="tsd-sources">
 <p>Overrides <a href="AbstractWorker.html">AbstractWorker</a>.<a href="AbstractWorker.html#handleError">handleError</a></p>
 <ul>
-<li>Defined in <a href="https://github.com/poolifier/poolifier/blob/922a735/src/worker/thread-worker.ts#L61">src/worker/thread-worker.ts:61</a></li></ul></aside></li></ul></section>
+<li>Defined in <a href="https://github.com/poolifier/poolifier/blob/3557031/src/worker/thread-worker.ts#L61">src/worker/thread-worker.ts:61</a></li></ul></aside></li></ul></section>
+<section class="tsd-panel tsd-member tsd-is-inherited"><a id="hasTaskFunction" class="tsd-anchor"></a>
+<h3 class="tsd-anchor-link"><span>has<wbr/>Task<wbr/>Function</span><a href="#hasTaskFunction" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="#icon-anchor"></use></svg></a></h3>
+<ul class="tsd-signatures tsd-is-inherited">
+<li class="tsd-signature tsd-anchor-link" id="hasTaskFunction.hasTaskFunction-1"><span class="tsd-kind-call-signature">has<wbr/>Task<wbr/>Function</span><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">name</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">boolean</span><a href="#hasTaskFunction.hasTaskFunction-1" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="#icon-anchor"></use></svg></a></li>
+<li class="tsd-description">
+<div class="tsd-comment tsd-typography"><p>Checks if the worker has a task function with the given name.</p>
+</div>
+<div class="tsd-parameters">
+<h4 class="tsd-parameters-title">Parameters</h4>
+<ul class="tsd-parameter-list">
+<li>
+<h5><span class="tsd-kind-parameter">name</span>: <span class="tsd-signature-type">string</span></h5>
+<div class="tsd-comment tsd-typography"><p>The name of the task function to check.</p>
+</div>
+<div class="tsd-comment tsd-typography"></div></li></ul></div>
+<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">boolean</span></h4><p>Whether the worker has a task function with the given name or not.</p>
+
+<div class="tsd-comment tsd-typography">
+<h4>Throws</h4><p><a href="https://nodejs.org/api/errors.html#class-typeerror">https://nodejs.org/api/errors.html#class-typeerror</a> If the <code>name</code> parameter is not a string.</p>
+</div><aside class="tsd-sources">
+<p>Inherited from <a href="AbstractWorker.html">AbstractWorker</a>.<a href="AbstractWorker.html#hasTaskFunction">hasTaskFunction</a></p>
+<ul>
+<li>Defined in <a href="https://github.com/poolifier/poolifier/blob/3557031/src/worker/abstract-worker.ts#L154">src/worker/abstract-worker.ts:154</a></li></ul></aside></li></ul></section>
 <section class="tsd-panel tsd-member tsd-is-protected tsd-is-inherited"><a id="messageListener" class="tsd-anchor"></a>
 <h3 class="tsd-anchor-link"><code class="tsd-tag ts-flagProtected">Protected</code> <span>message<wbr/>Listener</span><a href="#messageListener" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="#icon-anchor"></use></svg></a></h3>
 <ul class="tsd-signatures tsd-is-protected tsd-is-inherited">
@@ -309,11 +370,60 @@ never be called.</p>
 <div class="tsd-comment tsd-typography"></div><aside class="tsd-sources">
 <p>Inherited from <a href="AbstractWorker.html">AbstractWorker</a>.<a href="AbstractWorker.html#messageListener">messageListener</a></p>
 <ul>
-<li>Defined in <a href="https://github.com/poolifier/poolifier/blob/922a735/src/worker/abstract-worker.ts#L147">src/worker/abstract-worker.ts:147</a></li></ul></aside></li></ul></section>
+<li>Defined in <a href="https://github.com/poolifier/poolifier/blob/3557031/src/worker/abstract-worker.ts#L271">src/worker/abstract-worker.ts:271</a></li></ul></aside></li></ul></section>
+<section class="tsd-panel tsd-member tsd-is-inherited"><a id="removeTaskFunction" class="tsd-anchor"></a>
+<h3 class="tsd-anchor-link"><span>remove<wbr/>Task<wbr/>Function</span><a href="#removeTaskFunction" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="#icon-anchor"></use></svg></a></h3>
+<ul class="tsd-signatures tsd-is-inherited">
+<li class="tsd-signature tsd-anchor-link" id="removeTaskFunction.removeTaskFunction-1"><span class="tsd-kind-call-signature">remove<wbr/>Task<wbr/>Function</span><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">name</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">boolean</span><a href="#removeTaskFunction.removeTaskFunction-1" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="#icon-anchor"></use></svg></a></li>
+<li class="tsd-description">
+<div class="tsd-comment tsd-typography"><p>Removes a task function from the worker.</p>
+</div>
+<div class="tsd-parameters">
+<h4 class="tsd-parameters-title">Parameters</h4>
+<ul class="tsd-parameter-list">
+<li>
+<h5><span class="tsd-kind-parameter">name</span>: <span class="tsd-signature-type">string</span></h5>
+<div class="tsd-comment tsd-typography"><p>The name of the task function to remove.</p>
+</div>
+<div class="tsd-comment tsd-typography"></div></li></ul></div>
+<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">boolean</span></h4><p>Whether the task function existed and was removed or not.</p>
+
+<div class="tsd-comment tsd-typography">
+<h4>Throws</h4><p><a href="https://nodejs.org/api/errors.html#class-typeerror">https://nodejs.org/api/errors.html#class-typeerror</a> If the <code>name</code> parameter is not a string.</p>
+
+<h4>Throws</h4><p><a href="https://nodejs.org/api/errors.html#class-error">https://nodejs.org/api/errors.html#class-error</a> If the <code>name</code> parameter is the default task function reserved name.</p>
+
+<h4>Throws</h4><p><a href="https://nodejs.org/api/errors.html#class-error">https://nodejs.org/api/errors.html#class-error</a> If the <code>name</code> parameter is the task function used as default task function.</p>
+</div><aside class="tsd-sources">
+<p>Inherited from <a href="AbstractWorker.html">AbstractWorker</a>.<a href="AbstractWorker.html#removeTaskFunction">removeTaskFunction</a></p>
+<ul>
+<li>Defined in <a href="https://github.com/poolifier/poolifier/blob/3557031/src/worker/abstract-worker.ts#L210">src/worker/abstract-worker.ts:210</a></li></ul></aside></li></ul></section>
+<section class="tsd-panel tsd-member tsd-is-protected tsd-is-inherited"><a id="run" class="tsd-anchor"></a>
+<h3 class="tsd-anchor-link"><code class="tsd-tag ts-flagProtected">Protected</code> <span>run</span><a href="#run" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="#icon-anchor"></use></svg></a></h3>
+<ul class="tsd-signatures tsd-is-protected tsd-is-inherited">
+<li class="tsd-signature tsd-anchor-link" id="run.run-1"><span class="tsd-kind-call-signature">run</span><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">task</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">void</span><a href="#run.run-1" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="#icon-anchor"></use></svg></a></li>
+<li class="tsd-description">
+<div class="tsd-comment tsd-typography"><p>Runs the given task.</p>
+</div>
+<div class="tsd-parameters">
+<h4 class="tsd-parameters-title">Parameters</h4>
+<ul class="tsd-parameter-list">
+<li>
+<h5><span class="tsd-kind-parameter">task</span>: <a href="../interfaces/Task.html" class="tsd-signature-type tsd-kind-interface">Task</a><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type tsd-kind-type-parameter">Data</span><span class="tsd-signature-symbol">&gt;</span></h5>
+<div class="tsd-comment tsd-typography"><p>The task to execute.</p>
+</div>
+<div class="tsd-comment tsd-typography"></div></li></ul></div>
+<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">void</span></h4>
+<div class="tsd-comment tsd-typography">
+<h4>Throws</h4><p><a href="https://nodejs.org/api/errors.html#class-error">https://nodejs.org/api/errors.html#class-error</a> If the task function is not found.</p>
+</div><aside class="tsd-sources">
+<p>Inherited from <a href="AbstractWorker.html">AbstractWorker</a>.<a href="AbstractWorker.html#run">run</a></p>
+<ul>
+<li>Defined in <a href="https://github.com/poolifier/poolifier/blob/3557031/src/worker/abstract-worker.ts#L368">src/worker/abstract-worker.ts:368</a></li></ul></aside></li></ul></section>
 <section class="tsd-panel tsd-member tsd-is-protected tsd-is-inherited"><a id="runAsync" class="tsd-anchor"></a>
 <h3 class="tsd-anchor-link"><code class="tsd-tag ts-flagProtected">Protected</code> <span>run<wbr/>Async</span><a href="#runAsync" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="#icon-anchor"></use></svg></a></h3>
 <ul class="tsd-signatures tsd-is-protected tsd-is-inherited">
-<li class="tsd-signature tsd-anchor-link" id="runAsync.runAsync-1"><span class="tsd-kind-call-signature">run<wbr/>Async</span><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">fn</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="#runAsync.runAsync-1" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="#icon-anchor"></use></svg></a></li>
+<li class="tsd-signature tsd-anchor-link" id="runAsync.runAsync-1"><span class="tsd-kind-call-signature">run<wbr/>Async</span><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">fn</span>, <span class="tsd-kind-parameter">task</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">void</span><a href="#runAsync.runAsync-1" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="#icon-anchor"></use></svg></a></li>
 <li class="tsd-description">
 <div class="tsd-comment tsd-typography"><p>Runs the given function asynchronously.</p>
 </div>
@@ -322,19 +432,19 @@ never be called.</p>
 <ul class="tsd-parameter-list">
 <li>
 <h5><span class="tsd-kind-parameter">fn</span>: <a href="../types/WorkerAsyncFunction.html" class="tsd-signature-type tsd-kind-type-alias">WorkerAsyncFunction</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></h5>
-<div class="tsd-comment tsd-typography"><p>Function that will be executed.</p>
+<div class="tsd-comment tsd-typography"><p>Task function that will be executed.</p>
 </div>
 <div class="tsd-comment tsd-typography"></div></li>
 <li>
-<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>
-<div class="tsd-comment tsd-typography"><p>Input data for the given function.</p>
+<h5><span class="tsd-kind-parameter">task</span>: <a href="../interfaces/Task.html" class="tsd-signature-type tsd-kind-interface">Task</a><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type tsd-kind-type-parameter">Data</span><span class="tsd-signature-symbol">&gt;</span></h5>
+<div class="tsd-comment tsd-typography"><p>Input data for the task function.</p>
 </div>
 <div class="tsd-comment tsd-typography"></div></li></ul></div>
 <h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">void</span></h4>
 <div class="tsd-comment tsd-typography"></div><aside class="tsd-sources">
 <p>Inherited from <a href="AbstractWorker.html">AbstractWorker</a>.<a href="AbstractWorker.html#runAsync">runAsync</a></p>
 <ul>
-<li>Defined in <a href="https://github.com/poolifier/poolifier/blob/922a735/src/worker/abstract-worker.ts#L286">src/worker/abstract-worker.ts:286</a></li></ul></aside></li></ul></section>
+<li>Defined in <a href="https://github.com/poolifier/poolifier/blob/3557031/src/worker/abstract-worker.ts#L421">src/worker/abstract-worker.ts:421</a></li></ul></aside></li></ul></section>
 <section class="tsd-panel tsd-member tsd-is-inherited tsd-is-external"><a id="runInAsyncScope" class="tsd-anchor"></a>
 <h3 class="tsd-anchor-link"><span>run<wbr/>In<wbr/>Async<wbr/>Scope</span><a href="#runInAsyncScope" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="#icon-anchor"></use></svg></a></h3>
 <ul class="tsd-signatures tsd-is-inherited tsd-is-external">
@@ -393,7 +503,7 @@ then restore the original execution context.</p>
 <section class="tsd-panel tsd-member tsd-is-protected tsd-is-inherited"><a id="runSync" class="tsd-anchor"></a>
 <h3 class="tsd-anchor-link"><code class="tsd-tag ts-flagProtected">Protected</code> <span>run<wbr/>Sync</span><a href="#runSync" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="#icon-anchor"></use></svg></a></h3>
 <ul class="tsd-signatures tsd-is-protected tsd-is-inherited">
-<li class="tsd-signature tsd-anchor-link" id="runSync.runSync-1"><span class="tsd-kind-call-signature">run<wbr/>Sync</span><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">fn</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="#runSync.runSync-1" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="#icon-anchor"></use></svg></a></li>
+<li class="tsd-signature tsd-anchor-link" id="runSync.runSync-1"><span class="tsd-kind-call-signature">run<wbr/>Sync</span><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">fn</span>, <span class="tsd-kind-parameter">task</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">void</span><a href="#runSync.runSync-1" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="#icon-anchor"></use></svg></a></li>
 <li class="tsd-description">
 <div class="tsd-comment tsd-typography"><p>Runs the given function synchronously.</p>
 </div>
@@ -402,19 +512,19 @@ then restore the original execution context.</p>
 <ul class="tsd-parameter-list">
 <li>
 <h5><span class="tsd-kind-parameter">fn</span>: <a href="../types/WorkerSyncFunction.html" class="tsd-signature-type tsd-kind-type-alias">WorkerSyncFunction</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></h5>
-<div class="tsd-comment tsd-typography"><p>Function that will be executed.</p>
+<div class="tsd-comment tsd-typography"><p>Task function that will be executed.</p>
 </div>
 <div class="tsd-comment tsd-typography"></div></li>
 <li>
-<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>
-<div class="tsd-comment tsd-typography"><p>Input data for the given function.</p>
+<h5><span class="tsd-kind-parameter">task</span>: <a href="../interfaces/Task.html" class="tsd-signature-type tsd-kind-interface">Task</a><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type tsd-kind-type-parameter">Data</span><span class="tsd-signature-symbol">&gt;</span></h5>
+<div class="tsd-comment tsd-typography"><p>Input data for the task function.</p>
 </div>
 <div class="tsd-comment tsd-typography"></div></li></ul></div>
 <h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">void</span></h4>
 <div class="tsd-comment tsd-typography"></div><aside class="tsd-sources">
 <p>Inherited from <a href="AbstractWorker.html">AbstractWorker</a>.<a href="AbstractWorker.html#runSync">runSync</a></p>
 <ul>
-<li>Defined in <a href="https://github.com/poolifier/poolifier/blob/922a735/src/worker/abstract-worker.ts#L249">src/worker/abstract-worker.ts:249</a></li></ul></aside></li></ul></section>
+<li>Defined in <a href="https://github.com/poolifier/poolifier/blob/3557031/src/worker/abstract-worker.ts#L383">src/worker/abstract-worker.ts:383</a></li></ul></aside></li></ul></section>
 <section class="tsd-panel tsd-member tsd-is-protected"><a id="sendToMainWorker" class="tsd-anchor"></a>
 <h3 class="tsd-anchor-link"><code class="tsd-tag ts-flagProtected">Protected</code> <span>send<wbr/>To<wbr/>Main<wbr/>Worker</span><a href="#sendToMainWorker" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="#icon-anchor"></use></svg></a></h3>
 <ul class="tsd-signatures tsd-is-protected">
@@ -434,7 +544,34 @@ then restore the original execution context.</p>
 <div class="tsd-comment tsd-typography"></div><aside class="tsd-sources">
 <p>Overrides <a href="AbstractWorker.html">AbstractWorker</a>.<a href="AbstractWorker.html#sendToMainWorker">sendToMainWorker</a></p>
 <ul>
-<li>Defined in <a href="https://github.com/poolifier/poolifier/blob/922a735/src/worker/thread-worker.ts#L56">src/worker/thread-worker.ts:56</a></li></ul></aside></li></ul></section>
+<li>Defined in <a href="https://github.com/poolifier/poolifier/blob/3557031/src/worker/thread-worker.ts#L56">src/worker/thread-worker.ts:56</a></li></ul></aside></li></ul></section>
+<section class="tsd-panel tsd-member tsd-is-inherited"><a id="setDefaultTaskFunction" class="tsd-anchor"></a>
+<h3 class="tsd-anchor-link"><span>set<wbr/>Default<wbr/>Task<wbr/>Function</span><a href="#setDefaultTaskFunction" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="#icon-anchor"></use></svg></a></h3>
+<ul class="tsd-signatures tsd-is-inherited">
+<li class="tsd-signature tsd-anchor-link" id="setDefaultTaskFunction.setDefaultTaskFunction-1"><span class="tsd-kind-call-signature">set<wbr/>Default<wbr/>Task<wbr/>Function</span><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">name</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">boolean</span><a href="#setDefaultTaskFunction.setDefaultTaskFunction-1" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="#icon-anchor"></use></svg></a></li>
+<li class="tsd-description">
+<div class="tsd-comment tsd-typography"><p>Sets the default task function to use when no task function name is specified.</p>
+</div>
+<div class="tsd-parameters">
+<h4 class="tsd-parameters-title">Parameters</h4>
+<ul class="tsd-parameter-list">
+<li>
+<h5><span class="tsd-kind-parameter">name</span>: <span class="tsd-signature-type">string</span></h5>
+<div class="tsd-comment tsd-typography"><p>The name of the task function to use as default task function.</p>
+</div>
+<div class="tsd-comment tsd-typography"></div></li></ul></div>
+<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">boolean</span></h4><p>Whether the default task function was set or not.</p>
+
+<div class="tsd-comment tsd-typography">
+<h4>Throws</h4><p><a href="https://nodejs.org/api/errors.html#class-typeerror">https://nodejs.org/api/errors.html#class-typeerror</a> If the <code>name</code> parameter is not a string.</p>
+
+<h4>Throws</h4><p><a href="https://nodejs.org/api/errors.html#class-error">https://nodejs.org/api/errors.html#class-error</a> If the <code>name</code> parameter is the default task function reserved name.</p>
+
+<h4>Throws</h4><p><a href="https://nodejs.org/api/errors.html#class-error">https://nodejs.org/api/errors.html#class-error</a> If the <code>name</code> parameter is a non-existing task function.</p>
+</div><aside class="tsd-sources">
+<p>Inherited from <a href="AbstractWorker.html">AbstractWorker</a>.<a href="AbstractWorker.html#setDefaultTaskFunction">setDefaultTaskFunction</a></p>
+<ul>
+<li>Defined in <a href="https://github.com/poolifier/poolifier/blob/3557031/src/worker/abstract-worker.ts#L238">src/worker/abstract-worker.ts:238</a></li></ul></aside></li></ul></section>
 <section class="tsd-panel tsd-member tsd-is-inherited tsd-is-external"><a id="triggerAsyncId" class="tsd-anchor"></a>
 <h3 class="tsd-anchor-link"><span>trigger<wbr/>Async<wbr/>Id</span><a href="#triggerAsyncId" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="#icon-anchor"></use></svg></a></h3>
 <ul class="tsd-signatures tsd-is-inherited tsd-is-external">
@@ -457,7 +594,7 @@ then restore the original execution context.</p>
 <div class="tsd-comment tsd-typography"></div><aside class="tsd-sources">
 <p>Inherited from <a href="AbstractWorker.html">AbstractWorker</a>.<a href="AbstractWorker.html#workerReady">workerReady</a></p>
 <ul>
-<li>Defined in <a href="https://github.com/poolifier/poolifier/blob/922a735/src/worker/abstract-worker.ts#L177">src/worker/abstract-worker.ts:177</a></li></ul></aside></li></ul></section>
+<li>Defined in <a href="https://github.com/poolifier/poolifier/blob/3557031/src/worker/abstract-worker.ts#L296">src/worker/abstract-worker.ts:296</a></li></ul></aside></li></ul></section>
 <section class="tsd-panel tsd-member tsd-is-inherited tsd-is-external"><a id="bind-2" class="tsd-anchor"></a>
 <h3 class="tsd-anchor-link"><code class="tsd-tag ts-flagStatic">Static</code> <span>bind</span><a href="#bind-2" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="#icon-anchor"></use></svg></a></h3>
 <ul class="tsd-signatures tsd-is-inherited tsd-is-external">
@@ -522,16 +659,21 @@ then restore the original execution context.</p>
 <li><a href="#statistics" class="tsd-is-protected tsd-is-inherited"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-1024"></use></svg><span>statistics</span></a></li>
 <li><a href="#taskFunctions" class="tsd-is-protected tsd-is-inherited"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-1024"></use></svg><span>task<wbr/>Functions</span></a></li>
 <li><a href="#id" class="tsd-is-protected"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-262144"></use></svg><span>id</span></a></li>
+<li><a href="#addTaskFunction" class="tsd-is-inherited"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-2048"></use></svg><span>add<wbr/>Task<wbr/>Function</span></a></li>
 <li><a href="#asyncId" class="tsd-is-inherited tsd-is-external"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-2048"></use></svg><span>async<wbr/>Id</span></a></li>
 <li><a href="#bind" class="tsd-is-inherited tsd-is-external"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-2048"></use></svg><span>bind</span></a></li>
 <li><a href="#emitDestroy" class="tsd-is-inherited tsd-is-external"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-2048"></use></svg><span>emit<wbr/>Destroy</span></a></li>
 <li><a href="#getMainWorker" class="tsd-is-protected tsd-is-inherited"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-2048"></use></svg><span>get<wbr/>Main<wbr/>Worker</span></a></li>
 <li><a href="#handleError" class="tsd-is-protected"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-2048"></use></svg><span>handle<wbr/>Error</span></a></li>
+<li><a href="#hasTaskFunction" class="tsd-is-inherited"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-2048"></use></svg><span>has<wbr/>Task<wbr/>Function</span></a></li>
 <li><a href="#messageListener" class="tsd-is-protected tsd-is-inherited"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-2048"></use></svg><span>message<wbr/>Listener</span></a></li>
+<li><a href="#removeTaskFunction" class="tsd-is-inherited"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-2048"></use></svg><span>remove<wbr/>Task<wbr/>Function</span></a></li>
+<li><a href="#run" class="tsd-is-protected tsd-is-inherited"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-2048"></use></svg><span>run</span></a></li>
 <li><a href="#runAsync" class="tsd-is-protected tsd-is-inherited"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-2048"></use></svg><span>run<wbr/>Async</span></a></li>
 <li><a href="#runInAsyncScope" class="tsd-is-inherited tsd-is-external"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-2048"></use></svg><span>run<wbr/>In<wbr/>Async<wbr/>Scope</span></a></li>
 <li><a href="#runSync" class="tsd-is-protected tsd-is-inherited"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-2048"></use></svg><span>run<wbr/>Sync</span></a></li>
 <li><a href="#sendToMainWorker" class="tsd-is-protected"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-2048"></use></svg><span>send<wbr/>To<wbr/>Main<wbr/>Worker</span></a></li>
+<li><a href="#setDefaultTaskFunction" class="tsd-is-inherited"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-2048"></use></svg><span>set<wbr/>Default<wbr/>Task<wbr/>Function</span></a></li>
 <li><a href="#triggerAsyncId" class="tsd-is-inherited tsd-is-external"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-2048"></use></svg><span>trigger<wbr/>Async<wbr/>Id</span></a></li>
 <li><a href="#workerReady" class="tsd-is-protected tsd-is-inherited"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-2048"></use></svg><span>worker<wbr/>Ready</span></a></li>
 <li><a href="#bind-2" class="tsd-is-inherited tsd-is-external"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="#icon-2048"></use></svg><span>bind</span></a></li></ul></div></details></div>