UNPKG

actionhero

Version:

actionhero.js is a multi-transport API Server with integrated cluster capabilities and delayed tasks

776 lines 71.4 kB
<!doctype html> <html class="default no-js"> <head> <meta charset="utf-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <title>task | actionhero</title> <meta name="description" content="Documentation for actionhero"> <meta name="viewport" content="width=device-width, initial-scale=1"> <link rel="stylesheet" href="../assets/css/main.css"> </head> <body> <header> <div class="tsd-page-toolbar"> <div class="container"> <div class="table-wrap"> <div class="table-cell" id="tsd-search" data-index="../assets/js/search.json" data-base=".."> <div class="field"> <label for="tsd-search-field" class="tsd-widget search no-caption">Search</label> <input id="tsd-search-field" type="text" /> </div> <ul class="results"> <li class="state loading">Preparing search index...</li> <li class="state failure">The search index is not available</li> </ul> <a href="../index.html" class="title">actionhero</a> </div> <div class="table-cell" id="tsd-widgets"> <div id="tsd-filter"> <a href="#" class="tsd-widget options no-caption" data-toggle="options">Options</a> <div class="tsd-filter-group"> <div class="tsd-select" id="tsd-filter-visibility"> <span class="tsd-select-label">All</span> <ul class="tsd-select-list"> <li data-value="public">Public</li> <li data-value="protected">Public/Protected</li> <li data-value="private" class="selected">All</li> </ul> </div> <input type="checkbox" id="tsd-filter-inherited" checked /> <label class="tsd-widget" for="tsd-filter-inherited">Inherited</label> <input type="checkbox" id="tsd-filter-externals" checked /> <label class="tsd-widget" for="tsd-filter-externals">Externals</label> <input type="checkbox" id="tsd-filter-only-exported" /> <label class="tsd-widget" for="tsd-filter-only-exported">Only exported</label> </div> </div> <a href="#" class="tsd-widget menu no-caption" data-toggle="menu">Menu</a> </div> </div> </div> </div> <div class="tsd-page-title"> <div class="container"> <ul class="tsd-breadcrumb"> <li> <a href="../globals.html">Globals</a> </li> <li> <a href="task.html">task</a> </li> </ul> <h1>Namespace task</h1> </div> </div> </header> <div class="container container-main"> <div class="row"> <div class="col-8 col-content"> <section class="tsd-panel-group tsd-index-group"> <h2>Index</h2> <section class="tsd-panel tsd-index-panel"> <div class="tsd-index-content"> <section class="tsd-index-section "> <h3>Interfaces</h3> <ul class="tsd-index-list"> <li class="tsd-kind-interface tsd-parent-kind-namespace"><a href="../interfaces/task.taskmiddleware.html" class="tsd-kind-icon">Task<wbr>Middleware</a></li> </ul> </section> <section class="tsd-index-section "> <h3>Functions</h3> <ul class="tsd-index-list"> <li class="tsd-kind-function tsd-parent-kind-namespace"><a href="task.html#addmiddleware" class="tsd-kind-icon">add<wbr>Middleware</a></li> <li class="tsd-kind-function tsd-parent-kind-namespace"><a href="task.html#alldelayed" class="tsd-kind-icon">all<wbr>Delayed</a></li> <li class="tsd-kind-function tsd-parent-kind-namespace"><a href="task.html#allworkingon" class="tsd-kind-icon">all<wbr>Working<wbr>On</a></li> <li class="tsd-kind-function tsd-parent-kind-namespace"><a href="task.html#cleanoldworkers" class="tsd-kind-icon">clean<wbr>Old<wbr>Workers</a></li> <li class="tsd-kind-function tsd-parent-kind-namespace"><a href="task.html#del" class="tsd-kind-icon">del</a></li> <li class="tsd-kind-function tsd-parent-kind-namespace"><a href="task.html#deldelayed" class="tsd-kind-icon">del<wbr>Delayed</a></li> <li class="tsd-kind-function tsd-parent-kind-namespace"><a href="task.html#dellock" class="tsd-kind-icon">del<wbr>Lock</a></li> <li class="tsd-kind-function tsd-parent-kind-namespace"><a href="task.html#delqueue" class="tsd-kind-icon">del<wbr>Queue</a></li> <li class="tsd-kind-function tsd-parent-kind-namespace"><a href="task.html#delayedat" class="tsd-kind-icon">delayed<wbr>At</a></li> <li class="tsd-kind-function tsd-parent-kind-namespace"><a href="task.html#details" class="tsd-kind-icon">details</a></li> <li class="tsd-kind-function tsd-parent-kind-namespace"><a href="task.html#enqueue" class="tsd-kind-icon">enqueue</a></li> <li class="tsd-kind-function tsd-parent-kind-namespace"><a href="task.html#enqueueallrecurrenttasks" class="tsd-kind-icon">enqueue<wbr>All<wbr>Recurrent<wbr>Tasks</a></li> <li class="tsd-kind-function tsd-parent-kind-namespace"><a href="task.html#enqueueat" class="tsd-kind-icon">enqueue<wbr>At</a></li> <li class="tsd-kind-function tsd-parent-kind-namespace"><a href="task.html#enqueuein" class="tsd-kind-icon">enqueue<wbr>In</a></li> <li class="tsd-kind-function tsd-parent-kind-namespace"><a href="task.html#enqueuerecurrenttask" class="tsd-kind-icon">enqueue<wbr>Recurrent<wbr>Task</a></li> <li class="tsd-kind-function tsd-parent-kind-namespace"><a href="task.html#failed" class="tsd-kind-icon">failed</a></li> <li class="tsd-kind-function tsd-parent-kind-namespace"><a href="task.html#failedcount" class="tsd-kind-icon">failed<wbr>Count</a></li> <li class="tsd-kind-function tsd-parent-kind-namespace"><a href="task.html#locks" class="tsd-kind-icon">locks</a></li> <li class="tsd-kind-function tsd-parent-kind-namespace"><a href="task.html#queued" class="tsd-kind-icon">queued</a></li> <li class="tsd-kind-function tsd-parent-kind-namespace"><a href="task.html#removefailed" class="tsd-kind-icon">remove<wbr>Failed</a></li> <li class="tsd-kind-function tsd-parent-kind-namespace"><a href="task.html#retryandremovefailed" class="tsd-kind-icon">retry<wbr>And<wbr>Remove<wbr>Failed</a></li> <li class="tsd-kind-function tsd-parent-kind-namespace"><a href="task.html#scheduledat" class="tsd-kind-icon">scheduled<wbr>At</a></li> <li class="tsd-kind-function tsd-parent-kind-namespace"><a href="task.html#stats" class="tsd-kind-icon">stats</a></li> <li class="tsd-kind-function tsd-parent-kind-namespace"><a href="task.html#stoprecurrenttask" class="tsd-kind-icon">stop<wbr>Recurrent<wbr>Task</a></li> <li class="tsd-kind-function tsd-parent-kind-namespace"><a href="task.html#timestamps" class="tsd-kind-icon">timestamps</a></li> <li class="tsd-kind-function tsd-parent-kind-namespace tsd-is-not-exported"><a href="task.html#validateinput" class="tsd-kind-icon">validate<wbr>Input</a></li> <li class="tsd-kind-function tsd-parent-kind-namespace"><a href="task.html#workers" class="tsd-kind-icon">workers</a></li> <li class="tsd-kind-function tsd-parent-kind-namespace"><a href="task.html#workingon" class="tsd-kind-icon">working<wbr>On</a></li> </ul> </section> </div> </section> </section> <section class="tsd-panel-group tsd-member-group "> <h2>Functions</h2> <section class="tsd-panel tsd-member tsd-kind-function tsd-parent-kind-namespace"> <a name="addmiddleware" class="tsd-anchor"></a> <h3>add<wbr>Middleware</h3> <ul class="tsd-signatures tsd-kind-function tsd-parent-kind-namespace"> <li class="tsd-signature tsd-kind-icon">add<wbr>Middleware<span class="tsd-signature-symbol">(</span>middleware<span class="tsd-signature-symbol">: </span><a href="../interfaces/task.taskmiddleware.html" class="tsd-signature-type">TaskMiddleware</a><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></li> </ul> <ul class="tsd-descriptions"> <li class="tsd-description"> <aside class="tsd-sources"> <ul> <li>Defined in <a href="https://github.com/actionhero/actionhero/blob/fd12b4f0/src/modules/task.ts#L394">src/modules/task.ts:394</a></li> </ul> </aside> <h4 class="tsd-parameters-title">Parameters</h4> <ul class="tsd-parameters"> <li> <h5>middleware: <a href="../interfaces/task.taskmiddleware.html" class="tsd-signature-type">TaskMiddleware</a></h5> </li> </ul> <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> </li> </ul> </section> <section class="tsd-panel tsd-member tsd-kind-function tsd-parent-kind-namespace"> <a name="alldelayed" class="tsd-anchor"></a> <h3>all<wbr>Delayed</h3> <ul class="tsd-signatures tsd-kind-function tsd-parent-kind-namespace"> <li class="tsd-signature tsd-kind-icon">all<wbr>Delayed<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">any</span><span class="tsd-signature-symbol">&gt;</span></li> </ul> <ul class="tsd-descriptions"> <li class="tsd-description"> <aside class="tsd-sources"> <ul> <li>Defined in <a href="https://github.com/actionhero/actionhero/blob/fd12b4f0/src/modules/task.ts#L228">src/modules/task.ts:228</a></li> </ul> </aside> <div class="tsd-comment tsd-typography"> <div class="lead"> <p>Return all delayed jobs, organized by the timestamp at where they are to run at. Note: This is a very slow command. Will throw an error if redis cannot be reached.</p> </div> </div> <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">any</span><span class="tsd-signature-symbol">&gt;</span></h4> </li> </ul> </section> <section class="tsd-panel tsd-member tsd-kind-function tsd-parent-kind-namespace"> <a name="allworkingon" class="tsd-anchor"></a> <h3>all<wbr>Working<wbr>On</h3> <ul class="tsd-signatures tsd-kind-function tsd-parent-kind-namespace"> <li class="tsd-signature tsd-kind-icon">all<wbr>Working<wbr>On<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">object</span><span class="tsd-signature-symbol">&gt;</span></li> </ul> <ul class="tsd-descriptions"> <li class="tsd-description"> <aside class="tsd-sources"> <ul> <li>Defined in <a href="https://github.com/actionhero/actionhero/blob/fd12b4f0/src/modules/task.ts#L256">src/modules/task.ts:256</a></li> </ul> </aside> <div class="tsd-comment tsd-typography"> <div class="lead"> <p>Return all workers and what job they might be working on. Will throw an error if redis cannot be reached.</p> </div> </div> <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">object</span><span class="tsd-signature-symbol">&gt;</span></h4> </li> </ul> </section> <section class="tsd-panel tsd-member tsd-kind-function tsd-parent-kind-namespace"> <a name="cleanoldworkers" class="tsd-anchor"></a> <h3>clean<wbr>Old<wbr>Workers</h3> <ul class="tsd-signatures tsd-kind-function tsd-parent-kind-namespace"> <li class="tsd-signature tsd-kind-icon">clean<wbr>Old<wbr>Workers<span class="tsd-signature-symbol">(</span>age<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">number</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">object</span><span class="tsd-signature-symbol">&gt;</span></li> </ul> <ul class="tsd-descriptions"> <li class="tsd-description"> <aside class="tsd-sources"> <ul> <li>Defined in <a href="https://github.com/actionhero/actionhero/blob/fd12b4f0/src/modules/task.ts#L302">src/modules/task.ts:302</a></li> </ul> </aside> <div class="tsd-comment tsd-typography"> <div class="lead"> <p>If a worker process crashes, it will leave its state in redis as &quot;working&quot;. You can remove workers from redis you know to be over, by specificizing an age which would make them too old to exist. This method will remove the data created by a &#39;stuck&#39; worker and move the payload to the error queue. However, it will not actually remove any processes which may be running. A job <em>may</em> be running that you have removed. Will throw an error if redis cannot be reached.</p> </div> </div> <h4 class="tsd-parameters-title">Parameters</h4> <ul class="tsd-parameters"> <li> <h5>age: <span class="tsd-signature-type">number</span></h5> </li> </ul> <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">object</span><span class="tsd-signature-symbol">&gt;</span></h4> </li> </ul> </section> <section class="tsd-panel tsd-member tsd-kind-function tsd-parent-kind-namespace"> <a name="del" class="tsd-anchor"></a> <h3>del</h3> <ul class="tsd-signatures tsd-kind-function tsd-parent-kind-namespace"> <li class="tsd-signature tsd-kind-icon">del<span class="tsd-signature-symbol">(</span>q<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span>, taskName<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span>, args<span class="tsd-signature-symbol">?: </span><span class="tsd-signature-symbol">{}</span>, count<span class="tsd-signature-symbol">?: </span><span class="tsd-signature-type">number</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">number</span><span class="tsd-signature-symbol">&gt;</span></li> </ul> <ul class="tsd-descriptions"> <li class="tsd-description"> <aside class="tsd-sources"> <ul> <li>Defined in <a href="https://github.com/actionhero/actionhero/blob/fd12b4f0/src/modules/task.ts#L114">src/modules/task.ts:114</a></li> </ul> </aside> <div class="tsd-comment tsd-typography"> <div class="lead"> <p>Delete a previously enqueued task, which hasn&#39;t been run yet, from a queue. Will throw an error if redis cannot be reached.</p> </div> <p>Inputs:</p> <ul> <li>q: Which queue/priority is the task stored on?</li> <li>taskName: The name of the job, likely to be the same name as a tak.</li> <li>args: The arguments of the job. Note, arguments passed to a Task initially may be modified when enqueuing. It is best to read job properties first via <code>api.tasks.queued</code> or similar method.</li> <li>count: Of the jobs that match q, taskName, and args, up to what position should we delete? (Default 0; this command is 0-indexed)</li> </ul> </div> <h4 class="tsd-parameters-title">Parameters</h4> <ul class="tsd-parameters"> <li> <h5>q: <span class="tsd-signature-type">string</span></h5> </li> <li> <h5>taskName: <span class="tsd-signature-type">string</span></h5> </li> <li> <h5><span class="tsd-flag ts-flagOptional">Optional</span> args: <span class="tsd-signature-symbol">{}</span></h5> <ul class="tsd-parameters"> <li class="tsd-parameter-index-signature"> <h5><span class="tsd-signature-symbol">[</span>key: <span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">]: </span><span class="tsd-signature-type">any</span></h5> </li> </ul> </li> <li> <h5><span class="tsd-flag ts-flagOptional">Optional</span> count: <span class="tsd-signature-type">number</span></h5> </li> </ul> <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">number</span><span class="tsd-signature-symbol">&gt;</span></h4> </li> </ul> </section> <section class="tsd-panel tsd-member tsd-kind-function tsd-parent-kind-namespace"> <a name="deldelayed" class="tsd-anchor"></a> <h3>del<wbr>Delayed</h3> <ul class="tsd-signatures tsd-kind-function tsd-parent-kind-namespace"> <li class="tsd-signature tsd-kind-icon">del<wbr>Delayed<span class="tsd-signature-symbol">(</span>q<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span>, taskName<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span>, inputs<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">Promise</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">any</span><span class="tsd-signature-symbol">[]</span><span class="tsd-signature-symbol">&gt;</span></li> </ul> <ul class="tsd-descriptions"> <li class="tsd-description"> <aside class="tsd-sources"> <ul> <li>Defined in <a href="https://github.com/actionhero/actionhero/blob/fd12b4f0/src/modules/task.ts#L132">src/modules/task.ts:132</a></li> </ul> </aside> <div class="tsd-comment tsd-typography"> <div class="lead"> <p>Delete all previously enqueued tasks, which haven&#39;t been run yet, from all possible delayed timestamps. Will throw an error if redis cannot be reached.</p> </div> <p>Inputs:</p> <ul> <li>q: Which queue/priority is to run on?</li> <li>taskName: The name of the job, likely to be the same name as a tak.</li> <li>inputs The arguments of the job. Note, arguments passed to a Task initially may be modified when enqueuing. It is best to read job properties first via <code>api.tasks.delayedAt</code> or similar method.</li> </ul> </div> <h4 class="tsd-parameters-title">Parameters</h4> <ul class="tsd-parameters"> <li> <h5>q: <span class="tsd-signature-type">string</span></h5> </li> <li> <h5>taskName: <span class="tsd-signature-type">string</span></h5> </li> <li> <h5><span class="tsd-flag ts-flagOptional">Optional</span> inputs: <span class="tsd-signature-symbol">{}</span></h5> <ul class="tsd-parameters"> <li class="tsd-parameter-index-signature"> <h5><span class="tsd-signature-symbol">[</span>key: <span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">]: </span><span class="tsd-signature-type">any</span></h5> </li> </ul> </li> </ul> <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">any</span><span class="tsd-signature-symbol">[]</span><span class="tsd-signature-symbol">&gt;</span></h4> </li> </ul> </section> <section class="tsd-panel tsd-member tsd-kind-function tsd-parent-kind-namespace"> <a name="dellock" class="tsd-anchor"></a> <h3>del<wbr>Lock</h3> <ul class="tsd-signatures tsd-kind-function tsd-parent-kind-namespace"> <li class="tsd-signature tsd-kind-icon">del<wbr>Lock<span class="tsd-signature-symbol">(</span>lock<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</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">number</span><span class="tsd-signature-symbol">&gt;</span></li> </ul> <ul class="tsd-descriptions"> <li class="tsd-description"> <aside class="tsd-sources"> <ul> <li>Defined in <a href="https://github.com/actionhero/actionhero/blob/fd12b4f0/src/modules/task.ts#L203">src/modules/task.ts:203</a></li> </ul> </aside> <div class="tsd-comment tsd-typography"> <div class="lead"> <p>Delete a lock on a job or worker. Locks can be found via <code>api.tasks.locks</code> Will throw an error if redis cannot be reached.</p> </div> </div> <h4 class="tsd-parameters-title">Parameters</h4> <ul class="tsd-parameters"> <li> <h5>lock: <span class="tsd-signature-type">string</span></h5> </li> </ul> <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">number</span><span class="tsd-signature-symbol">&gt;</span></h4> </li> </ul> </section> <section class="tsd-panel tsd-member tsd-kind-function tsd-parent-kind-namespace"> <a name="delqueue" class="tsd-anchor"></a> <h3>del<wbr>Queue</h3> <ul class="tsd-signatures tsd-kind-function tsd-parent-kind-namespace"> <li class="tsd-signature tsd-kind-icon">del<wbr>Queue<span class="tsd-signature-symbol">(</span>q<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</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></li> </ul> <ul class="tsd-descriptions"> <li class="tsd-description"> <aside class="tsd-sources"> <ul> <li>Defined in <a href="https://github.com/actionhero/actionhero/blob/fd12b4f0/src/modules/task.ts#L186">src/modules/task.ts:186</a></li> </ul> </aside> <div class="tsd-comment tsd-typography"> <div class="lead"> <p>Delete a queue in redis, and all jobs stored on it. Will throw an error if redis cannot be reached.</p> </div> </div> <h4 class="tsd-parameters-title">Parameters</h4> <ul class="tsd-parameters"> <li> <h5>q: <span class="tsd-signature-type">string</span></h5> </li> </ul> <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> </li> </ul> </section> <section class="tsd-panel tsd-member tsd-kind-function tsd-parent-kind-namespace"> <a name="delayedat" class="tsd-anchor"></a> <h3>delayed<wbr>At</h3> <ul class="tsd-signatures tsd-kind-function tsd-parent-kind-namespace"> <li class="tsd-signature tsd-kind-icon">delayed<wbr>At<span class="tsd-signature-symbol">(</span>timestamp<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">number</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">any</span><span class="tsd-signature-symbol">&gt;</span></li> </ul> <ul class="tsd-descriptions"> <li class="tsd-description"> <aside class="tsd-sources"> <ul> <li>Defined in <a href="https://github.com/actionhero/actionhero/blob/fd12b4f0/src/modules/task.ts#L219">src/modules/task.ts:219</a></li> </ul> </aside> <div class="tsd-comment tsd-typography"> <div class="lead"> <p>Return all jobs which have been enqueued to run at a certain timestamp. Will throw an error if redis cannot be reached.</p> </div> </div> <h4 class="tsd-parameters-title">Parameters</h4> <ul class="tsd-parameters"> <li> <h5>timestamp: <span class="tsd-signature-type">number</span></h5> </li> </ul> <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">any</span><span class="tsd-signature-symbol">&gt;</span></h4> </li> </ul> </section> <section class="tsd-panel tsd-member tsd-kind-function tsd-parent-kind-namespace"> <a name="details" class="tsd-anchor"></a> <h3>details</h3> <ul class="tsd-signatures tsd-kind-function tsd-parent-kind-namespace"> <li class="tsd-signature tsd-kind-icon">details<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-symbol">{}</span><span class="tsd-signature-symbol">&gt;</span></li> </ul> <ul class="tsd-descriptions"> <li class="tsd-description"> <aside class="tsd-sources"> <ul> <li>Defined in <a href="https://github.com/actionhero/actionhero/blob/fd12b4f0/src/modules/task.ts#L378">src/modules/task.ts:378</a></li> </ul> </aside> <div class="tsd-comment tsd-typography"> <div class="lead"> <p>Return wholistic details about the task system, including failures, queues, and workers. Will throw an error if redis cannot be reached.</p> </div> </div> <h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-symbol">{}</span><span class="tsd-signature-symbol">&gt;</span></h4> </li> </ul> </section> <section class="tsd-panel tsd-member tsd-kind-function tsd-parent-kind-namespace"> <a name="enqueue" class="tsd-anchor"></a> <h3>enqueue</h3> <ul class="tsd-signatures tsd-kind-function tsd-parent-kind-namespace"> <li class="tsd-signature tsd-kind-icon">enqueue<span class="tsd-signature-symbol">(</span>taskName<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span>, inputs<span class="tsd-signature-symbol">: </span><span class="tsd-signature-symbol">{}</span>, queue<span class="tsd-signature-symbol">?: </span><span class="tsd-signature-type">string</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">any</span><span class="tsd-signature-symbol">&gt;</span></li> </ul> <ul class="tsd-descriptions"> <li class="tsd-description"> <aside class="tsd-sources"> <ul> <li>Defined in <a href="https://github.com/actionhero/actionhero/blob/fd12b4f0/src/modules/task.ts#L56">src/modules/task.ts:56</a></li> </ul> </aside> <div class="tsd-comment tsd-typography"> <div class="lead"> <p>Enqueue a task to be performed in the background. Will throw an error if redis cannot be reached.</p> </div> </div> <h4 class="tsd-parameters-title">Parameters</h4> <ul class="tsd-parameters"> <li> <h5>taskName: <span class="tsd-signature-type">string</span></h5> </li> <li> <h5>inputs: <span class="tsd-signature-symbol">{}</span></h5> <ul class="tsd-parameters"> <li class="tsd-parameter-index-signature"> <h5><span class="tsd-signature-symbol">[</span>key: <span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">]: </span><span class="tsd-signature-type">any</span></h5> </li> </ul> </li> <li> <h5><span class="tsd-flag ts-flagDefault value">Default value</span> queue: <span class="tsd-signature-type">string</span><span class="tsd-signature-symbol"> = api.tasks.tasks[taskName].queue</span></h5> </li> </ul> <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">any</span><span class="tsd-signature-symbol">&gt;</span></h4> </li> </ul> </section> <section class="tsd-panel tsd-member tsd-kind-function tsd-parent-kind-namespace"> <a name="enqueueallrecurrenttasks" class="tsd-anchor"></a> <h3>enqueue<wbr>All<wbr>Recurrent<wbr>Tasks</h3> <ul class="tsd-signatures tsd-kind-function tsd-parent-kind-namespace"> <li class="tsd-signature tsd-kind-icon">enqueue<wbr>All<wbr>Recurrent<wbr>Tasks<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">any</span><span class="tsd-signature-symbol">[]</span><span class="tsd-signature-symbol">&gt;</span></li> </ul> <ul class="tsd-descriptions"> <li class="tsd-description"> <aside class="tsd-sources"> <ul> <li>Defined in <a href="https://github.com/actionhero/actionhero/blob/fd12b4f0/src/modules/task.ts#L329">src/modules/task.ts:329</a></li> </ul> </aside> <div class="tsd-comment tsd-typography"> <div class="lead"> <p>This is run automatically at boot for all tasks which have a frequency, calling <code>api.tasks.enqueueRecurrentTask</code> Will throw an error if redis cannot be reached.</p> </div> </div> <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">any</span><span class="tsd-signature-symbol">[]</span><span class="tsd-signature-symbol">&gt;</span></h4> </li> </ul> </section> <section class="tsd-panel tsd-member tsd-kind-function tsd-parent-kind-namespace"> <a name="enqueueat" class="tsd-anchor"></a> <h3>enqueue<wbr>At</h3> <ul class="tsd-signatures tsd-kind-function tsd-parent-kind-namespace"> <li class="tsd-signature tsd-kind-icon">enqueue<wbr>At<span class="tsd-signature-symbol">(</span>timestamp<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">number</span>, taskName<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span>, inputs<span class="tsd-signature-symbol">: </span><span class="tsd-signature-symbol">{}</span>, queue<span class="tsd-signature-symbol">?: </span><span class="tsd-signature-type">string</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></li> </ul> <ul class="tsd-descriptions"> <li class="tsd-description"> <aside class="tsd-sources"> <ul> <li>Defined in <a href="https://github.com/actionhero/actionhero/blob/fd12b4f0/src/modules/task.ts#L74">src/modules/task.ts:74</a></li> </ul> </aside> <div class="tsd-comment tsd-typography"> <div class="lead"> <p>Enqueue a task to be performed in the background, at a certain time in the future. Will throw an error if redis cannot be reached.</p> </div> <p>Inputs:</p> <ul> <li>taskName: The name of the task.</li> <li>inputs: inputs to pass to the task.</li> <li>queue: (Optional) Which queue/priority to run this instance of the task on.</li> </ul> </div> <h4 class="tsd-parameters-title">Parameters</h4> <ul class="tsd-parameters"> <li> <h5>timestamp: <span class="tsd-signature-type">number</span></h5> </li> <li> <h5>taskName: <span class="tsd-signature-type">string</span></h5> </li> <li> <h5>inputs: <span class="tsd-signature-symbol">{}</span></h5> <ul class="tsd-parameters"> <li class="tsd-parameter-index-signature"> <h5><span class="tsd-signature-symbol">[</span>key: <span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">]: </span><span class="tsd-signature-type">any</span></h5> </li> </ul> </li> <li> <h5><span class="tsd-flag ts-flagDefault value">Default value</span> queue: <span class="tsd-signature-type">string</span><span class="tsd-signature-symbol"> = api.tasks.tasks[taskName].queue</span></h5> </li> </ul> <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> </li> </ul> </section> <section class="tsd-panel tsd-member tsd-kind-function tsd-parent-kind-namespace"> <a name="enqueuein" class="tsd-anchor"></a> <h3>enqueue<wbr>In</h3> <ul class="tsd-signatures tsd-kind-function tsd-parent-kind-namespace"> <li class="tsd-signature tsd-kind-icon">enqueue<wbr>In<span class="tsd-signature-symbol">(</span>time<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">number</span>, taskName<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span>, inputs<span class="tsd-signature-symbol">: </span><span class="tsd-signature-symbol">{}</span>, queue<span class="tsd-signature-symbol">?: </span><span class="tsd-signature-type">string</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></li> </ul> <ul class="tsd-descriptions"> <li class="tsd-description"> <aside class="tsd-sources"> <ul> <li>Defined in <a href="https://github.com/actionhero/actionhero/blob/fd12b4f0/src/modules/task.ts#L94">src/modules/task.ts:94</a></li> </ul> </aside> <div class="tsd-comment tsd-typography"> <div class="lead"> <p>Enqueue a task to be performed in the background, at a certain number of ms from now. Will throw an error if redis cannot be reached.</p> </div> <p>Inputs:</p> <ul> <li>timestamp: At what time the task is able to be run. Does not guarantee that the task will be run at this time. (in ms)</li> <li>taskName: The name of the task.</li> <li>inputs: inputs to pass to the task.</li> <li>queue: (Optional) Which queue/priority to run this instance of the task on.</li> </ul> </div> <h4 class="tsd-parameters-title">Parameters</h4> <ul class="tsd-parameters"> <li> <h5>time: <span class="tsd-signature-type">number</span></h5> </li> <li> <h5>taskName: <span class="tsd-signature-type">string</span></h5> </li> <li> <h5>inputs: <span class="tsd-signature-symbol">{}</span></h5> <ul class="tsd-parameters"> <li class="tsd-parameter-index-signature"> <h5><span class="tsd-signature-symbol">[</span>key: <span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">]: </span><span class="tsd-signature-type">any</span></h5> </li> </ul> </li> <li> <h5><span class="tsd-flag ts-flagDefault value">Default value</span> queue: <span class="tsd-signature-type">string</span><span class="tsd-signature-symbol"> = api.tasks.tasks[taskName].queue</span></h5> </li> </ul> <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> </li> </ul> </section> <section class="tsd-panel tsd-member tsd-kind-function tsd-parent-kind-namespace"> <a name="enqueuerecurrenttask" class="tsd-anchor"></a> <h3>enqueue<wbr>Recurrent<wbr>Task</h3> <ul class="tsd-signatures tsd-kind-function tsd-parent-kind-namespace"> <li class="tsd-signature tsd-kind-icon">enqueue<wbr>Recurrent<wbr>Task<span class="tsd-signature-symbol">(</span>taskName<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</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></li> </ul> <ul class="tsd-descriptions"> <li class="tsd-description"> <aside class="tsd-sources"> <ul> <li>Defined in <a href="https://github.com/actionhero/actionhero/blob/fd12b4f0/src/modules/task.ts#L311">src/modules/task.ts:311</a></li> </ul> </aside> <div class="tsd-comment tsd-typography"> <div class="lead"> <p>Ensures that a task which has a frequency is either running, or already enqueued. This is run automatically at boot for all tasks which have a frequency, via <code>api.tasks.enqueueAllRecurrentTasks</code>. Will throw an error if redis cannot be reached.</p> </div> </div> <h4 class="tsd-parameters-title">Parameters</h4> <ul class="tsd-parameters"> <li> <h5>taskName: <span class="tsd-signature-type">string</span></h5> </li> </ul> <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> </li> </ul> </section> <section class="tsd-panel tsd-member tsd-kind-function tsd-parent-kind-namespace"> <a name="failed" class="tsd-anchor"></a> <h3>failed</h3> <ul class="tsd-signatures tsd-kind-function tsd-parent-kind-namespace"> <li class="tsd-signature tsd-kind-icon">failed<span class="tsd-signature-symbol">(</span>start<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">number</span>, stop<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">number</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">Array</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">object</span><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">&gt;</span></li> </ul> <ul class="tsd-descriptions"> <li class="tsd-description"> <aside class="tsd-sources"> <ul> <li>Defined in <a href="https://github.com/actionhero/actionhero/blob/fd12b4f0/src/modules/task.ts#L272">src/modules/task.ts:272</a></li> </ul> </aside> <div class="tsd-comment tsd-typography"> <div class="lead"> <p>Retrieve the details of failed jobs between start and stop (0-indexed). Will throw an error if redis cannot be reached.</p> </div> </div> <h4 class="tsd-parameters-title">Parameters</h4> <ul class="tsd-parameters"> <li> <h5>start: <span class="tsd-signature-type">number</span></h5> </li> <li> <h5>stop: <span class="tsd-signature-type">number</span></h5> </li> </ul> <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">Array</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">object</span><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">&gt;</span></h4> </li> </ul> </section> <section class="tsd-panel tsd-member tsd-kind-function tsd-parent-kind-namespace"> <a name="failedcount" class="tsd-anchor"></a> <h3>failed<wbr>Count</h3> <ul class="tsd-signatures tsd-kind-function tsd-parent-kind-namespace"> <li class="tsd-signature tsd-kind-icon">failed<wbr>Count<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">number</span><span class="tsd-signature-symbol">&gt;</span></li> </ul> <ul class="tsd-descriptions"> <li class="tsd-description"> <aside class="tsd-sources"> <ul> <li>Defined in <a href="https://github.com/actionhero/actionhero/blob/fd12b4f0/src/modules/task.ts#L264">src/modules/task.ts:264</a></li> </ul> </aside> <div class="tsd-comment tsd-typography"> <div class="lead"> <p>How many jobs are in the failed queue. Will throw an error if redis cannot be reached.</p> </div> </div> <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">number</span><span class="tsd-signature-symbol">&gt;</span></h4> </li> </ul> </section> <section class="tsd-panel tsd-member tsd-kind-function tsd-parent-kind-namespace"> <a name="locks" class="tsd-anchor"></a> <h3>locks</h3> <ul class="tsd-signatures tsd-kind-function tsd-parent-kind-namespace"> <li class="tsd-signature tsd-kind-icon">locks<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">Object</span><span class="tsd-signature-symbol">&gt;</span></li> </ul> <ul class="tsd-descriptions"> <li class="tsd-description"> <aside class="tsd-sources"> <ul> <li>Defined in <a href="https://github.com/actionhero/actionhero/blob/fd12b4f0/src/modules/task.ts#L195">src/modules/task.ts:195</a></li> </ul> </aside> <div class="tsd-comment tsd-typography"> <div class="lead"> <p>Return any locks, as created by resque plugins or task middleware, in this redis namespace. Will contain locks with keys like <code>resque:lock:{job}</code> and <code>resque:workerslock:{workerId}</code> Will throw an error if redis cannot be reached.</p> </div> </div> <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">Object</span><span class="tsd-signature-symbol">&gt;</span></h4> </li> </ul> </section> <section class="tsd-panel tsd-member tsd-kind-function tsd-parent-kind-namespace"> <a name="queued" class="tsd-anchor"></a> <h3>queued</h3> <ul class="tsd-signatures tsd-kind-function tsd-parent-kind-namespace"> <li class="tsd-signature tsd-kind-icon">queued<span class="tsd-signature-symbol">(</span>q<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span>, start<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">number</span>, stop<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">number</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">Array</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-symbol">{}</span><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">&gt;</span></li> </ul> <ul class="tsd-descriptions"> <li class="tsd-description"> <aside class="tsd-sources"> <ul> <li>Defined in <a href="https://github.com/actionhero/actionhero/blob/fd12b4f0/src/modules/task.ts#L174">src/modules/task.ts:174</a></li> </ul> </aside> <div class="tsd-comment tsd-typography"> <div class="lead"> <p>Retrieve the details of jobs enqueued on a certain queue between start and stop (0-indexed) Will throw an error if redis cannot be reached.</p> </div> <p>Inputs:</p> <ul> <li>q The name of the queue.</li> <li>start The index of the first job to return.</li> <li>stop The index of the last job to return.</li> </ul> </div> <h4 class="tsd-parameters-title">Parameters</h4> <ul class="tsd-parameters"> <li> <h5>q: <span class="tsd-signature-type">string</span></h5> </li> <li> <h5>start: <span class="tsd-signature-type">number</span></h5> </li> <li> <h5>stop: <span class="tsd-signature-type">number</span></h5> </li> </ul> <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">Array</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-symbol">{}</span><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">&gt;</span></h4> </li> </ul> </section> <section class="tsd-panel tsd-member tsd-kind-function tsd-parent-kind-namespace"> <a name="removefailed" class="tsd-anchor"></a> <h3>remove<wbr>Failed</h3> <ul class="tsd-signatures tsd-kind-function tsd-parent-kind-namespace"> <li class="tsd-signature tsd-kind-icon">remove<wbr>Failed<span class="tsd-signature-symbol">(</span>failedJob<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">any</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">number</span><span class="tsd-signature-symbol">&gt;</span></li> </ul> <ul class="tsd-descriptions"> <li class="tsd-description"> <aside class="tsd-sources"> <ul> <li>Defined in <a href="https://github.com/actionhero/actionhero/blob/fd12b4f0/src/modules/task.ts#L283">src/modules/task.ts:283</a></li> </ul> </aside> <div class="tsd-comment tsd-typography"> <div class="lead"> <p>Remove a specific job from the failed queue. Will throw an error if redis cannot be reached.</p> </div> </div> <h4 class="tsd-parameters-title">Parameters</h4> <ul class="tsd-parameters"> <li> <h5>failedJob: <span class="tsd-signature-type">any</span></h5> </li> </ul> <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">number</span><span class="tsd-signature-symbol">&gt;</span></h4> </li> </ul> </section> <section class="tsd-panel tsd-member tsd-kind-function tsd-parent-kind-namespace"> <a name="retryandremovefailed" class="tsd-anchor"></a> <h3>retry<wbr>And<wbr>Remove<wbr>Failed</h3> <ul class="tsd-signatures tsd-kind-function tsd-parent-kind-namespace"> <li class="tsd-signature tsd-kind-icon">retry<wbr>And<wbr>Remove<wbr>Failed<span class="tsd-signature-symbol">(</span>failedJob<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">any</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">any</span><span class="tsd-signature-symbol">&gt;</span></li> </ul> <ul class="tsd-descriptions"> <li class="tsd-description"> <aside class="tsd-sources"> <ul> <li>Defined in <a href="https://github.com/actionhero/actionhero/blob/fd12b4f0/src/modules/task.ts#L291">src/modules/task.ts:291</a><