pipework 0.88.1 → 0.90.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +9 -0
- package/dist/async/jobs/errors.d.ts +25 -0
- package/dist/async/jobs/errors.d.ts.map +1 -1
- package/dist/async/jobs/errors.js +27 -0
- package/dist/async/jobs/errors.js.map +1 -1
- package/dist/async/jobs/execute.d.ts +1 -1
- package/dist/async/jobs/execute.d.ts.map +1 -1
- package/dist/async/jobs/index.d.ts +1 -1
- package/dist/async/jobs/index.d.ts.map +1 -1
- package/dist/async/jobs/index.js +1 -1
- package/dist/async/jobs/index.js.map +1 -1
- package/dist/async/jobs/namespace.d.ts +10 -0
- package/dist/async/jobs/namespace.d.ts.map +1 -1
- package/dist/async/jobs/namespace.js +5 -0
- package/dist/async/jobs/namespace.js.map +1 -1
- package/dist/async/jobs/queue.d.ts +7 -2
- package/dist/async/jobs/queue.d.ts.map +1 -1
- package/dist/async/jobs/queue.js +27 -6
- package/dist/async/jobs/queue.js.map +1 -1
- package/dist/async/steps/errors.d.ts +8 -0
- package/dist/async/steps/errors.d.ts.map +1 -0
- package/dist/async/steps/errors.js +12 -0
- package/dist/async/steps/errors.js.map +1 -0
- package/dist/async/steps/graph.d.ts.map +1 -1
- package/dist/async/steps/graph.js +119 -37
- package/dist/async/steps/graph.js.map +1 -1
- package/dist/async/steps/types.d.ts +19 -1
- package/dist/async/steps/types.d.ts.map +1 -1
- package/dist/core/surface/worker.d.ts.map +1 -1
- package/dist/core/surface/worker.js +9 -2
- package/dist/core/surface/worker.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
|
@@ -12,7 +12,6 @@ import { randomUUID } from 'node:crypto';
|
|
|
12
12
|
import { sql } from '../../data/db/sql.js';
|
|
13
13
|
import { schema } from '../../data/schema/namespace.js';
|
|
14
14
|
import { fitting } from '../../request/di/index.js';
|
|
15
|
-
import { pipeRaw } from '../../data/db/db.js';
|
|
16
15
|
import { getContext, runInContext } from '../../request/context/store.js';
|
|
17
16
|
import { createJobContext } from '../../request/context/create.js';
|
|
18
17
|
import { bindTransaction } from '../../request/context/guard.js';
|
|
@@ -20,6 +19,8 @@ import { propagateLocals } from '../../request/context/run-in-transaction.js';
|
|
|
20
19
|
import { parentTraceRef } from '../../trace/entry/parent-trace.js';
|
|
21
20
|
import { serializeForTrace } from '../../trace/capture/bounded-serializer.js';
|
|
22
21
|
import { getBaseLogger } from '../../core/logging/index.js';
|
|
22
|
+
import { projectStepError } from '../../trace/runtime/step-error.js';
|
|
23
|
+
import { StepTimeoutError } from './errors.js';
|
|
23
24
|
import { canonicalJson, inputHash, sha256Hex, valueHash } from './hash.js';
|
|
24
25
|
import { SINGLE, registerStepTables } from './table.js';
|
|
25
26
|
const RUN = 'pipework_step_run';
|
|
@@ -60,6 +61,12 @@ function stepDefinitionChecks(config) {
|
|
|
60
61
|
if (def.workers !== undefined && (typeof def.workers !== 'string' || !CLASS_RE.test(def.workers))) {
|
|
61
62
|
fail(graph, `step "${name}" names worker class "${String(def.workers)}", which must start with a letter and use letters, digits, "_" or "-".`);
|
|
62
63
|
}
|
|
64
|
+
if (def.timeoutMs !== undefined) {
|
|
65
|
+
if (!Number.isInteger(def.timeoutMs) || def.timeoutMs <= 0)
|
|
66
|
+
fail(graph, `step "${name}" has timeoutMs ${String(def.timeoutMs)}, which must be a positive integer (milliseconds).`);
|
|
67
|
+
if (def.person === true)
|
|
68
|
+
fail(graph, `step "${name}" is a person step and cannot have timeoutMs: it holds no worker.`);
|
|
69
|
+
}
|
|
63
70
|
if (def.person === true) {
|
|
64
71
|
if (def.forEach !== undefined)
|
|
65
72
|
fail(graph, `step "${name}" is a person step and cannot have forEach.`);
|
|
@@ -299,6 +306,23 @@ export function defineGraph(config) {
|
|
|
299
306
|
error: null,
|
|
300
307
|
});
|
|
301
308
|
}
|
|
309
|
+
function stageTimeout(step, instance, timeoutMs, startedAt, error) {
|
|
310
|
+
const buffer = getContext()?.trace?.buffer;
|
|
311
|
+
if (buffer === undefined)
|
|
312
|
+
return;
|
|
313
|
+
const now = new Date();
|
|
314
|
+
buffer.stageExternal({
|
|
315
|
+
id: randomUUID(),
|
|
316
|
+
parentStepId: null,
|
|
317
|
+
flowStepRef: 'external:pipework.step.timeout',
|
|
318
|
+
status: 'error',
|
|
319
|
+
startedAt,
|
|
320
|
+
completedAt: now,
|
|
321
|
+
durationMicros: BigInt(Math.max(0, now.getTime() - startedAt.getTime())) * 1000n,
|
|
322
|
+
capturedInputs: [serializeForTrace({ step, instance: instance === SINGLE ? null : instance, timeoutMs })],
|
|
323
|
+
error: projectStepError(error),
|
|
324
|
+
});
|
|
325
|
+
}
|
|
302
326
|
/** The state of one run during an `advance`: its tasks and the results they hold. */
|
|
303
327
|
class RunState {
|
|
304
328
|
run;
|
|
@@ -369,7 +393,7 @@ export function defineGraph(config) {
|
|
|
369
393
|
const results = await loadResults(tx, tasks.flatMap(t => t.resultId === null ? [] : [t.resultId]));
|
|
370
394
|
return new RunState(run, tasks, results, inputHashesOf(run.inputs));
|
|
371
395
|
}
|
|
372
|
-
function stepContext(state, def, task, fanOut, signal) {
|
|
396
|
+
function stepContext(state, def, task, fanOut, signal, io) {
|
|
373
397
|
const g = state.gather(def);
|
|
374
398
|
return {
|
|
375
399
|
needs: g.values,
|
|
@@ -379,6 +403,8 @@ export function defineGraph(config) {
|
|
|
379
403
|
inputs: g.inputs,
|
|
380
404
|
runId: state.run.id,
|
|
381
405
|
signal,
|
|
406
|
+
checkpoint: io.checkpoint,
|
|
407
|
+
withResult: io.withResult,
|
|
382
408
|
};
|
|
383
409
|
}
|
|
384
410
|
async function setTask(tx, t, patch) {
|
|
@@ -423,7 +449,12 @@ export function defineGraph(config) {
|
|
|
423
449
|
return;
|
|
424
450
|
}
|
|
425
451
|
if (def.person === true) {
|
|
426
|
-
const accepted = def.autoAccept === undefined ? undefined : await def.autoAccept(stepContext(state, def, task, fanOut, signal
|
|
452
|
+
const accepted = def.autoAccept === undefined ? undefined : await def.autoAccept(stepContext(state, def, task, fanOut, signal, {
|
|
453
|
+
checkpoint: (fn) => fn(tx),
|
|
454
|
+
withResult: () => {
|
|
455
|
+
throw new Error(`[pipework] ${graph}: step "${task.step}" is a person step; withResult is for steps that run (a person step records through decide).\n`);
|
|
456
|
+
},
|
|
457
|
+
}));
|
|
427
458
|
if (accepted !== undefined) {
|
|
428
459
|
const rec = await recordResult(tx, run, task.step, key, task.instance, toJson(accepted), false);
|
|
429
460
|
state.results.set(rec.id, { value: rec.value, hash: rec.hash });
|
|
@@ -735,29 +766,40 @@ export function defineGraph(config) {
|
|
|
735
766
|
await tx.execute(sql `DELETE FROM ${sql.raw(RESULT)} WHERE tenant_id = ${tenantId}::uuid`);
|
|
736
767
|
});
|
|
737
768
|
}
|
|
738
|
-
/**
|
|
739
|
-
|
|
769
|
+
/**
|
|
770
|
+
* The step job. The job holds no transaction while `run` waits: one short checkpoint
|
|
771
|
+
* checks the task and reads the run's state, `run` executes outside any transaction,
|
|
772
|
+
* and a second checkpoint records the result (with whatever `withResult` callbacks
|
|
773
|
+
* asked to write) and advances the run.
|
|
774
|
+
*/
|
|
775
|
+
async function handleJob(checkpoint, payload) {
|
|
740
776
|
if (payload.kind === 'finish') {
|
|
741
|
-
await deliverDone(tx, payload.runId);
|
|
777
|
+
await checkpoint((tx) => deliverDone(tx, payload.runId));
|
|
742
778
|
return { finished: payload.runId };
|
|
743
779
|
}
|
|
744
|
-
const
|
|
745
|
-
|
|
746
|
-
|
|
747
|
-
|
|
780
|
+
const loaded = await checkpoint(async (tx) => {
|
|
781
|
+
const live = await tx.execute(sql `
|
|
782
|
+
SELECT 1 FROM ${sql.raw(TASK)} t JOIN ${sql.raw(RUN)} r ON r.id = t.run_id
|
|
783
|
+
WHERE t.id = ${payload.taskId}::uuid AND t.run_id = ${payload.runId}::uuid AND t.status = 'queued' AND r.status = 'running'`);
|
|
784
|
+
if (live.length === 0)
|
|
785
|
+
return null;
|
|
786
|
+
// Read the run's state without the lock: the step may take a long time, and other steps of the run must proceed meanwhile.
|
|
787
|
+
const runRows = await tx.execute(sql `
|
|
788
|
+
SELECT id::text, tenant_id::text AS tenant, item, status, priority, targets, inputs FROM ${sql.raw(RUN)} WHERE id = ${payload.runId}::uuid`);
|
|
789
|
+
const r = runRows[0];
|
|
790
|
+
const run = {
|
|
791
|
+
id: r['id'], tenant: r['tenant'], item: r['item'], status: r['status'],
|
|
792
|
+
priority: r['priority'], targets: r['targets'], inputs: r['inputs'], parent: null,
|
|
793
|
+
};
|
|
794
|
+
return { run, state: await loadState(tx, run) };
|
|
795
|
+
});
|
|
796
|
+
if (loaded === null)
|
|
748
797
|
return { skipped: payload.taskId };
|
|
749
|
-
|
|
750
|
-
const runRows = await tx.execute(sql `
|
|
751
|
-
SELECT id::text, tenant_id::text AS tenant, item, status, priority, targets, inputs FROM ${sql.raw(RUN)} WHERE id = ${payload.runId}::uuid`);
|
|
752
|
-
const r = runRows[0];
|
|
753
|
-
const run = {
|
|
754
|
-
id: r['id'], tenant: r['tenant'], item: r['item'], status: r['status'],
|
|
755
|
-
priority: r['priority'], targets: r['targets'], inputs: r['inputs'], parent: null,
|
|
756
|
-
};
|
|
757
|
-
const state = await loadState(tx, run);
|
|
798
|
+
const { run, state } = loaded;
|
|
758
799
|
const task = state.tasks.find(t => t.id === payload.taskId);
|
|
759
800
|
const def = steps[task.step];
|
|
760
801
|
const fanOut = isFanOut(task.step);
|
|
802
|
+
const resultWrites = [];
|
|
761
803
|
const controller = new AbortController();
|
|
762
804
|
let controllers = running.get(run.id);
|
|
763
805
|
if (controllers === undefined) {
|
|
@@ -766,36 +808,76 @@ export function defineGraph(config) {
|
|
|
766
808
|
}
|
|
767
809
|
controllers.add(controller);
|
|
768
810
|
let value;
|
|
811
|
+
let timer;
|
|
812
|
+
const startedAt = new Date();
|
|
769
813
|
try {
|
|
770
|
-
|
|
814
|
+
const work = Promise.resolve(def.run(stepContext(state, def, task, fanOut, controller.signal, {
|
|
815
|
+
checkpoint,
|
|
816
|
+
withResult: (fn) => { resultWrites.push(fn); },
|
|
817
|
+
})));
|
|
818
|
+
if (def.timeoutMs === undefined) {
|
|
819
|
+
value = toJson(await work);
|
|
820
|
+
}
|
|
821
|
+
else {
|
|
822
|
+
const limit = def.timeoutMs;
|
|
823
|
+
const expired = new Promise((_, reject) => {
|
|
824
|
+
timer = setTimeout(() => {
|
|
825
|
+
const timeout = new StepTimeoutError(graph, task.step, limit);
|
|
826
|
+
controller.abort(timeout);
|
|
827
|
+
reject(timeout);
|
|
828
|
+
}, limit);
|
|
829
|
+
timer.unref();
|
|
830
|
+
});
|
|
831
|
+
work.catch(() => { });
|
|
832
|
+
try {
|
|
833
|
+
value = toJson(await Promise.race([work, expired]));
|
|
834
|
+
}
|
|
835
|
+
catch (err) {
|
|
836
|
+
if (err instanceof StepTimeoutError)
|
|
837
|
+
stageTimeout(task.step, task.instance, limit, startedAt, err);
|
|
838
|
+
throw err;
|
|
839
|
+
}
|
|
840
|
+
}
|
|
771
841
|
}
|
|
772
842
|
finally {
|
|
843
|
+
if (timer !== undefined)
|
|
844
|
+
clearTimeout(timer);
|
|
773
845
|
controllers.delete(controller);
|
|
774
846
|
if (controllers.size === 0)
|
|
775
847
|
running.delete(run.id);
|
|
776
848
|
}
|
|
777
|
-
|
|
778
|
-
|
|
779
|
-
|
|
780
|
-
|
|
781
|
-
|
|
782
|
-
|
|
783
|
-
|
|
784
|
-
|
|
785
|
-
|
|
786
|
-
|
|
787
|
-
|
|
788
|
-
|
|
789
|
-
await
|
|
790
|
-
|
|
849
|
+
return checkpoint(async (tx) => {
|
|
850
|
+
const locked = await lockRun(tx, run.id);
|
|
851
|
+
if (locked === null)
|
|
852
|
+
return { skipped: payload.taskId };
|
|
853
|
+
const current = await tx.execute(sql `SELECT status FROM ${sql.raw(TASK)} WHERE id = ${task.id}::uuid FOR UPDATE`);
|
|
854
|
+
for (const write of resultWrites)
|
|
855
|
+
await write(tx);
|
|
856
|
+
const rec = await recordResult(tx, locked, task.step, task.inputKey, task.instance, value, false);
|
|
857
|
+
if (current[0]?.['status'] !== 'queued' || locked.status !== 'running') {
|
|
858
|
+
// Cancelled or failed while it ran: the result is kept for later requests, the run does not move.
|
|
859
|
+
return { recorded: rec.id };
|
|
860
|
+
}
|
|
861
|
+
await tx.execute(sql `UPDATE ${sql.raw(TASK)} SET status = 'done', result_id = ${rec.id}::uuid WHERE id = ${task.id}::uuid`);
|
|
862
|
+
const outcome = await advance(tx, run.id);
|
|
863
|
+
if (outcome.completed)
|
|
864
|
+
await deliverDone(tx, run.id);
|
|
865
|
+
return { step: task.step, resultId: rec.id };
|
|
866
|
+
});
|
|
791
867
|
}
|
|
792
868
|
function handlerFor(type, database) {
|
|
793
869
|
const builder = database === undefined ? fitting.use() : fitting.use(database);
|
|
870
|
+
const key = database ?? 'db';
|
|
794
871
|
return builder.job(type)
|
|
872
|
+
.transaction('manual')
|
|
795
873
|
.input(schema.check.object({ kind: schema.check.string(), runId: schema.check.string(), taskId: schema.check.string() }))
|
|
796
|
-
.fit(async ({ input }) => {
|
|
797
|
-
const
|
|
798
|
-
|
|
874
|
+
.fit(async ({ input, checkpoint }) => {
|
|
875
|
+
const tenant = getContext()?.tenant ?? null;
|
|
876
|
+
const atTenant = (fn) => checkpoint((dbs) => {
|
|
877
|
+
const tx = dbs[key];
|
|
878
|
+
return asTenant(tx, tenant, () => fn(tx));
|
|
879
|
+
});
|
|
880
|
+
return handleJob(atTenant, input);
|
|
799
881
|
});
|
|
800
882
|
}
|
|
801
883
|
function handlers(database, selected) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"graph.js","sourceRoot":"","sources":["../../../src/async/steps/graph.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"graph.js","sourceRoot":"","sources":["../../../src/async/steps/graph.ts"],"names":[],"mappings":"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"}
|
|
@@ -18,9 +18,21 @@ export interface GraphStepContext {
|
|
|
18
18
|
readonly runId: string;
|
|
19
19
|
/** Aborted when `cancel()` is called in this process while the step runs. */
|
|
20
20
|
readonly signal: AbortSignal;
|
|
21
|
+
/**
|
|
22
|
+
* Runs `fn` in its own short transaction on the graph's database, as the run's tenant (RLS applies),
|
|
23
|
+
* and commits it on return. `run` itself holds no transaction: it is never open while the step waits.
|
|
24
|
+
* In `autoAccept`, `fn` runs in the transaction that advances the run.
|
|
25
|
+
*/
|
|
26
|
+
checkpoint<R>(fn: (tx: DB) => Promise<R>): Promise<R>;
|
|
27
|
+
/**
|
|
28
|
+
* Registers `fn` to run, in registration order, in the transaction that records this step's result:
|
|
29
|
+
* the rows it writes and the result commit together or not at all. If `fn` throws, neither is kept,
|
|
30
|
+
* the attempt fails and the task stays queued. Not available in `autoAccept` (throws).
|
|
31
|
+
*/
|
|
32
|
+
withResult(fn: (tx: DB) => Promise<void>): void;
|
|
21
33
|
}
|
|
22
34
|
/** What a `forEach` is handed: the step's needs, before any element exists. */
|
|
23
|
-
export type GraphForEachContext = Omit<GraphStepContext, 'element' | 'index' | 'signal'>;
|
|
35
|
+
export type GraphForEachContext = Omit<GraphStepContext, 'element' | 'index' | 'signal' | 'checkpoint' | 'withResult'>;
|
|
24
36
|
export interface GraphStepDefinition {
|
|
25
37
|
/** Part of the content key: bump it and the step (and what depends on it) runs again. */
|
|
26
38
|
readonly version: number;
|
|
@@ -36,6 +48,12 @@ export interface GraphStepDefinition {
|
|
|
36
48
|
readonly autoAccept?: (ctx: GraphStepContext) => unknown;
|
|
37
49
|
/** Attempts the step's job gets. Default: the queue's. */
|
|
38
50
|
readonly maxAttempts?: number;
|
|
51
|
+
/**
|
|
52
|
+
* The longest one try of `run` may take, in milliseconds (a positive integer). A try that exceeds it is aborted
|
|
53
|
+
* through `signal` and counted as a failed attempt, so `maxAttempts` and dead-lettering apply; a `run` that
|
|
54
|
+
* ignores its signal still ends the try on time. The class's job timeout, if any, still applies on top.
|
|
55
|
+
*/
|
|
56
|
+
readonly timeoutMs?: number;
|
|
39
57
|
/**
|
|
40
58
|
* The class of worker that takes this step: letters, digits, "_" and "-", starting with a letter. Default "default".
|
|
41
59
|
* The step's job type is `pipework.step.<graph>` for the default class, `pipework.step.<graph>:<class>` otherwise.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/async/steps/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,wBAAwB,CAAA;AAChD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAA;AAC7C,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,2BAA2B,CAAA;AACxD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAA;AACtD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAA;AAGtD,MAAM,MAAM,SAAS,GAAG,GAAG,CAAA;AAE3B,wDAAwD;AACxD,MAAM,WAAW,gBAAgB;IAC/B,8HAA8H;IAC9H,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC,CAAA;IACnD,gFAAgF;IAChF,QAAQ,CAAC,OAAO,EAAE,SAAS,CAAA;IAC3B,wDAAwD;IACxD,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAA;IAC7B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,wDAAwD;IACxD,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAA;IAClD,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IACtB,6EAA6E;IAC7E,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAA;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/async/steps/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"worker.d.ts","sourceRoot":"","sources":["../../../src/core/surface/worker.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAiB,mBAAmB,EAA4B,MAAM,YAAY,CAAA;
|
|
1
|
+
{"version":3,"file":"worker.d.ts","sourceRoot":"","sources":["../../../src/core/surface/worker.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAiB,mBAAmB,EAA4B,MAAM,YAAY,CAAA;AAuB9G,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,mBAAmB,GAAG,cAAc,CA+V/E"}
|
|
@@ -3,6 +3,7 @@ import { DEFAULT_DB } from '../../request/di/types.js';
|
|
|
3
3
|
import { createQueue } from '../../async/jobs/queue.js';
|
|
4
4
|
import { abortableDelay } from '../../async/jobs/abortable-delay.js';
|
|
5
5
|
import { executeJob } from '../../async/jobs/execute.js';
|
|
6
|
+
import { JobLaterError, JobPermanentError } from '../../async/jobs/errors.js';
|
|
6
7
|
import { executeWithTimeout } from './job-timeout.js';
|
|
7
8
|
import { createJobContext } from '../../request/context/create.js';
|
|
8
9
|
import { runInContext } from '../../request/context/store.js';
|
|
@@ -201,8 +202,14 @@ export function createWorkerSurface(config) {
|
|
|
201
202
|
}
|
|
202
203
|
catch (err) {
|
|
203
204
|
// A job taken from this worker (handed back, claim lost) is not its failure to record.
|
|
204
|
-
if (entry.endedBy === null)
|
|
205
|
-
|
|
205
|
+
if (entry.endedBy === null) {
|
|
206
|
+
if (err instanceof JobLaterError)
|
|
207
|
+
await queue.later(db, claimed.id, err, claimed.claimToken);
|
|
208
|
+
else if (err instanceof JobPermanentError)
|
|
209
|
+
await queue.fail(db, claimed.id, err, claimed.claimToken, { permanent: true });
|
|
210
|
+
else
|
|
211
|
+
await queue.fail(db, claimed.id, err, claimed.claimToken);
|
|
212
|
+
}
|
|
206
213
|
}
|
|
207
214
|
finally {
|
|
208
215
|
clearInterval(heartbeatInterval);
|