@dudousxd/nestjs-durable 0.2.1 → 0.3.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/dist/durable.module.d.ts +43 -1
- package/dist/durable.module.d.ts.map +1 -1
- package/dist/durable.module.js +26 -6
- package/dist/durable.module.js.map +1 -1
- package/dist/timer-poller.d.ts +3 -3
- package/dist/timer-poller.d.ts.map +1 -1
- package/dist/timer-poller.js +7 -3
- package/dist/timer-poller.js.map +1 -1
- package/package.json +3 -3
package/dist/durable.module.d.ts
CHANGED
|
@@ -1,8 +1,19 @@
|
|
|
1
|
-
import { type StateStore, type Transport } from '@dudousxd/nestjs-durable-core';
|
|
1
|
+
import { type ControlPlane, type NamedTransport, type QueueConfig, type ScheduledWorkflow, type StateStore, type Transport } from '@dudousxd/nestjs-durable-core';
|
|
2
2
|
import { type DynamicModule, type InjectionToken } from '@nestjs/common';
|
|
3
3
|
export interface DurableModuleOptions {
|
|
4
4
|
store: StateStore;
|
|
5
5
|
transport?: Transport;
|
|
6
|
+
/**
|
|
7
|
+
* An ordered pool of named transports for failover / multi-broker setups. The engine dispatches on
|
|
8
|
+
* the first and fails over to the next; a step pins one via `ctx.call(step, input, { transport })`.
|
|
9
|
+
* Use instead of `transport`.
|
|
10
|
+
*/
|
|
11
|
+
transports?: NamedTransport[];
|
|
12
|
+
/**
|
|
13
|
+
* Cross-instance broadcast pub/sub (lifecycle events + cancellation). Defaults to the (first)
|
|
14
|
+
* transport when it can broadcast (event-emitter, BullMQ); set explicitly to use a dedicated one.
|
|
15
|
+
*/
|
|
16
|
+
controlPlane?: ControlPlane;
|
|
6
17
|
/** Interval (ms) for the durable-timer poller. `0` disables it. Defaults to 1000. */
|
|
7
18
|
timerPollMs?: number;
|
|
8
19
|
/**
|
|
@@ -17,6 +28,11 @@ export interface DurableModuleOptions {
|
|
|
17
28
|
leaseMs?: number;
|
|
18
29
|
/** Unique id for this instance (for leases). Defaults to a random id. */
|
|
19
30
|
instanceId?: string;
|
|
31
|
+
/**
|
|
32
|
+
* Cap recovery attempts before a still-`running` run is moved to the `dead` dead-letter state
|
|
33
|
+
* (a poison pill that crashes the process every boot). Omit for unlimited.
|
|
34
|
+
*/
|
|
35
|
+
maxRecoveryAttempts?: number;
|
|
20
36
|
/**
|
|
21
37
|
* Whether this instance plays the **worker** role: register `@DurableStep` handlers (consume the
|
|
22
38
|
* transport), recover incomplete runs on boot, and poll due timers. Defaults to `true`. Set
|
|
@@ -26,6 +42,32 @@ export interface DurableModuleOptions {
|
|
|
26
42
|
worker?: boolean;
|
|
27
43
|
/** Max ms to wait for in-flight runs on shutdown before exiting. Defaults to 10000. */
|
|
28
44
|
shutdownTimeoutMs?: number;
|
|
45
|
+
/**
|
|
46
|
+
* Recurring workflows to start on a schedule (fixed interval or cron). The timer poller fires
|
|
47
|
+
* them each tick on **worker** instances only; `engine.start` is idempotent by the schedule's
|
|
48
|
+
* time-bucket run id, so racing instances start each window exactly once. Cron schedules need the
|
|
49
|
+
* optional `cron-parser` peer dependency.
|
|
50
|
+
*/
|
|
51
|
+
schedules?: ScheduledWorkflow[];
|
|
52
|
+
/**
|
|
53
|
+
* Build the public callback URL for a `ctx.webhook()` token, e.g.
|
|
54
|
+
* ``(t) => `https://api.example.com/durable/api/webhooks/${t}` ``. Populates `DurableWebhook.url`
|
|
55
|
+
* so a step can hand the URL to a third party. The dashboard's `POST webhooks/:token` receives the
|
|
56
|
+
* callback. Omit to build URLs yourself from the token.
|
|
57
|
+
*/
|
|
58
|
+
webhookUrl?: (token: string) => string;
|
|
59
|
+
/**
|
|
60
|
+
* Flow-control queues for remote steps, registered on the engine at startup. Reference one from a
|
|
61
|
+
* workflow with `ctx.call(step, input, { queue: name })` to cap its concurrency / admission rate.
|
|
62
|
+
*/
|
|
63
|
+
queues?: QueueConfig[];
|
|
64
|
+
/**
|
|
65
|
+
* Provide the current W3C `traceparent` to stamp on dispatched remote tasks, so workers continue
|
|
66
|
+
* the distributed trace. Pass `otelTraceparent` from `@dudousxd/nestjs-durable-otel`.
|
|
67
|
+
*/
|
|
68
|
+
traceparent?: () => string | undefined;
|
|
69
|
+
/** Attempts for each saga compensation when a run fails. Default 1 (no retry). Idempotent undos. */
|
|
70
|
+
compensationRetries?: number;
|
|
29
71
|
}
|
|
30
72
|
export interface DurableModuleAsyncOptions {
|
|
31
73
|
useFactory: (...args: never[]) => DurableModuleOptions | Promise<DurableModuleOptions>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"durable.module.d.ts","sourceRoot":"","sources":["../src/durable.module.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"durable.module.d.ts","sourceRoot":"","sources":["../src/durable.module.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,YAAY,EAEjB,KAAK,cAAc,EACnB,KAAK,WAAW,EAEhB,KAAK,iBAAiB,EACtB,KAAK,UAAU,EAEf,KAAK,SAAS,EAEf,MAAM,+BAA+B,CAAC;AACvC,OAAO,EAAE,KAAK,aAAa,EAAE,KAAK,cAAc,EAAyB,MAAM,gBAAgB,CAAC;AAgBhG,MAAM,WAAW,oBAAoB;IACnC,KAAK,EAAE,UAAU,CAAC;IAClB,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB;;;;OAIG;IACH,UAAU,CAAC,EAAE,cAAc,EAAE,CAAC;IAC9B;;;OAGG;IACH,YAAY,CAAC,EAAE,YAAY,CAAC;IAC5B,qFAAqF;IACrF,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;;OAGG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,yEAAyE;IACzE,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;;;OAGG;IACH,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B;;;;;OAKG;IACH,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,uFAAuF;IACvF,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B;;;;;OAKG;IACH,SAAS,CAAC,EAAE,iBAAiB,EAAE,CAAC;IAChC;;;;;OAKG;IACH,UAAU,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM,CAAC;IACvC;;;OAGG;IACH,MAAM,CAAC,EAAE,WAAW,EAAE,CAAC;IACvB;;;OAGG;IACH,WAAW,CAAC,EAAE,MAAM,MAAM,GAAG,SAAS,CAAC;IACvC,oGAAoG;IACpG,mBAAmB,CAAC,EAAE,MAAM,CAAC;CAC9B;AAED,MAAM,WAAW,yBAAyB;IACxC,UAAU,EAAE,CAAC,GAAG,IAAI,EAAE,KAAK,EAAE,KAAK,oBAAoB,GAAG,OAAO,CAAC,oBAAoB,CAAC,CAAC;IACvF,MAAM,CAAC,EAAE,cAAc,EAAE,CAAC;CAC3B;AAED,qBACa,aAAa;IACxB,MAAM,CAAC,OAAO,CAAC,OAAO,EAAE,oBAAoB,GAAG,aAAa;IAI5D,MAAM,CAAC,YAAY,CAAC,OAAO,EAAE,yBAAyB,GAAG,aAAa;IAQtE,OAAO,CAAC,MAAM,CAAC,KAAK;CAoDrB"}
|
package/dist/durable.module.js
CHANGED
|
@@ -15,6 +15,12 @@ const durable_step_registrar_1 = require("./durable-step.registrar");
|
|
|
15
15
|
const timer_poller_1 = require("./timer-poller");
|
|
16
16
|
const workflow_registrar_1 = require("./workflow.registrar");
|
|
17
17
|
const workflow_service_1 = require("./workflow.service");
|
|
18
|
+
/** True when `x` can act as a control plane (broadcast pub/sub) — e.g. a broadcast-capable transport. */
|
|
19
|
+
function isControlPlane(x) {
|
|
20
|
+
return (!!x &&
|
|
21
|
+
typeof x.publishControl === 'function' &&
|
|
22
|
+
typeof x.onControl === 'function');
|
|
23
|
+
}
|
|
18
24
|
let DurableModule = DurableModule_1 = class DurableModule {
|
|
19
25
|
static forRoot(options) {
|
|
20
26
|
return DurableModule_1.build({ provide: nestjs_durable_core_1.DURABLE_OPTIONS, useValue: options });
|
|
@@ -45,12 +51,26 @@ let DurableModule = DurableModule_1 = class DurableModule {
|
|
|
45
51
|
},
|
|
46
52
|
{
|
|
47
53
|
provide: nestjs_durable_core_1.WorkflowEngine,
|
|
48
|
-
useFactory: (store, transport, opts) =>
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
+
useFactory: (store, transport, opts) => {
|
|
55
|
+
// The control-plane default is the primary task transport (single, or the pool's first)
|
|
56
|
+
// when it can broadcast.
|
|
57
|
+
const primary = transport ?? opts.transports?.[0]?.transport;
|
|
58
|
+
const engine = new nestjs_durable_core_1.WorkflowEngine({
|
|
59
|
+
store,
|
|
60
|
+
transport: transport ?? undefined,
|
|
61
|
+
transports: opts.transports,
|
|
62
|
+
controlPlane: opts.controlPlane ?? (isControlPlane(primary) ? primary : undefined),
|
|
63
|
+
leaseMs: opts.leaseMs,
|
|
64
|
+
maxRecoveryAttempts: opts.maxRecoveryAttempts,
|
|
65
|
+
instanceId: opts.instanceId,
|
|
66
|
+
webhookUrl: opts.webhookUrl,
|
|
67
|
+
traceparent: opts.traceparent,
|
|
68
|
+
compensationRetries: opts.compensationRetries,
|
|
69
|
+
});
|
|
70
|
+
for (const queue of opts.queues ?? [])
|
|
71
|
+
engine.registerQueue(queue);
|
|
72
|
+
return engine;
|
|
73
|
+
},
|
|
54
74
|
inject: [nestjs_durable_core_1.STATE_STORE, nestjs_durable_core_1.TRANSPORT, nestjs_durable_core_1.DURABLE_OPTIONS],
|
|
55
75
|
},
|
|
56
76
|
workflow_service_1.WorkflowService,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"durable.module.js","sourceRoot":"","sources":["../src/durable.module.ts"],"names":[],"mappings":";;;;;;;;;;AAAA,
|
|
1
|
+
{"version":3,"file":"durable.module.js","sourceRoot":"","sources":["../src/durable.module.ts"],"names":[],"mappings":"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"}
|
package/dist/timer-poller.d.ts
CHANGED
|
@@ -2,9 +2,9 @@ import { WorkflowEngine } from '@dudousxd/nestjs-durable-core';
|
|
|
2
2
|
import { type OnApplicationBootstrap, type OnModuleDestroy } from '@nestjs/common';
|
|
3
3
|
import type { DurableModuleOptions } from './durable.module';
|
|
4
4
|
/**
|
|
5
|
-
* Resumes suspended runs whose durable timer (`ctx.sleep`) is due
|
|
6
|
-
* interval. Set `timerPollMs` to `0` to disable
|
|
7
|
-
* drives `WorkflowEngine.resumeDueTimers`).
|
|
5
|
+
* Resumes suspended runs whose durable timer (`ctx.sleep`) is due, and fires any configured
|
|
6
|
+
* recurring `schedules` — once on boot, then on an interval. Set `timerPollMs` to `0` to disable
|
|
7
|
+
* the interval (e.g. when an external scheduler drives `WorkflowEngine.resumeDueTimers`).
|
|
8
8
|
*/
|
|
9
9
|
export declare class TimerPoller implements OnApplicationBootstrap, OnModuleDestroy {
|
|
10
10
|
private readonly engine;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"timer-poller.d.ts","sourceRoot":"","sources":["../src/timer-poller.ts"],"names":[],"mappings":"AAAA,OAAO,EAAmB,cAAc,
|
|
1
|
+
{"version":3,"file":"timer-poller.d.ts","sourceRoot":"","sources":["../src/timer-poller.ts"],"names":[],"mappings":"AAAA,OAAO,EAAmB,cAAc,EAAgB,MAAM,+BAA+B,CAAC;AAC9F,OAAO,EAGL,KAAK,sBAAsB,EAC3B,KAAK,eAAe,EACrB,MAAM,gBAAgB,CAAC;AACxB,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AAE7D;;;;GAIG;AACH,qBACa,WAAY,YAAW,sBAAsB,EAAE,eAAe;IAKvE,OAAO,CAAC,QAAQ,CAAC,MAAM;IACE,OAAO,CAAC,QAAQ,CAAC,OAAO;IALnD,OAAO,CAAC,KAAK,CAAC,CAAiC;IAC/C,OAAO,CAAC,OAAO,CAAS;gBAGL,MAAM,EAAE,cAAc,EACG,OAAO,EAAE,oBAAoB;IAGnE,sBAAsB,IAAI,OAAO,CAAC,IAAI,CAAC;IAY7C,eAAe,IAAI,IAAI;YAIT,IAAI;CAanB"}
|
package/dist/timer-poller.js
CHANGED
|
@@ -16,9 +16,9 @@ exports.TimerPoller = void 0;
|
|
|
16
16
|
const nestjs_durable_core_1 = require("@dudousxd/nestjs-durable-core");
|
|
17
17
|
const common_1 = require("@nestjs/common");
|
|
18
18
|
/**
|
|
19
|
-
* Resumes suspended runs whose durable timer (`ctx.sleep`) is due
|
|
20
|
-
* interval. Set `timerPollMs` to `0` to disable
|
|
21
|
-
* drives `WorkflowEngine.resumeDueTimers`).
|
|
19
|
+
* Resumes suspended runs whose durable timer (`ctx.sleep`) is due, and fires any configured
|
|
20
|
+
* recurring `schedules` — once on boot, then on an interval. Set `timerPollMs` to `0` to disable
|
|
21
|
+
* the interval (e.g. when an external scheduler drives `WorkflowEngine.resumeDueTimers`).
|
|
22
22
|
*/
|
|
23
23
|
let TimerPoller = class TimerPoller {
|
|
24
24
|
engine;
|
|
@@ -51,6 +51,10 @@ let TimerPoller = class TimerPoller {
|
|
|
51
51
|
this.polling = true;
|
|
52
52
|
try {
|
|
53
53
|
await this.engine.resumeDueTimers();
|
|
54
|
+
const schedules = this.options.schedules;
|
|
55
|
+
if (schedules && schedules.length > 0) {
|
|
56
|
+
await (0, nestjs_durable_core_1.runSchedules)(this.engine, schedules, Date.now());
|
|
57
|
+
}
|
|
54
58
|
}
|
|
55
59
|
finally {
|
|
56
60
|
this.polling = false;
|
package/dist/timer-poller.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"timer-poller.js","sourceRoot":"","sources":["../src/timer-poller.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,
|
|
1
|
+
{"version":3,"file":"timer-poller.js","sourceRoot":"","sources":["../src/timer-poller.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,uEAA8F;AAC9F,2CAKwB;AAGxB;;;;GAIG;AAEI,IAAM,WAAW,GAAjB,MAAM,WAAW;IAKH;IACyB;IALpC,KAAK,CAAkC;IACvC,OAAO,GAAG,KAAK,CAAC;IAExB,YACmB,MAAsB,EACG,OAA6B;QADtD,WAAM,GAAN,MAAM,CAAgB;QACG,YAAO,GAAP,OAAO,CAAsB;IACtE,CAAC;IAEJ,KAAK,CAAC,sBAAsB;QAC1B,gFAAgF;QAChF,wEAAwE;QACxE,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,KAAK,KAAK;YAAE,OAAO;QAC1C,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC;QAClB,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,IAAI,KAAK,CAAC;QACrD,IAAI,UAAU,GAAG,CAAC,EAAE,CAAC;YACnB,IAAI,CAAC,KAAK,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC,KAAK,IAAI,CAAC,IAAI,EAAE,EAAE,UAAU,CAAC,CAAC;YAC7D,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,EAAE,CAAC;QACvB,CAAC;IACH,CAAC;IAED,eAAe;QACb,IAAI,IAAI,CAAC,KAAK;YAAE,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC5C,CAAC;IAEO,KAAK,CAAC,IAAI;QAChB,IAAI,IAAI,CAAC,OAAO;YAAE,OAAO,CAAC,2BAA2B;QACrD,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACpB,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,MAAM,CAAC,eAAe,EAAE,CAAC;YACpC,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC;YACzC,IAAI,SAAS,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACtC,MAAM,IAAA,kCAAY,EAAC,IAAI,CAAC,MAAM,EAAE,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;YACzD,CAAC;QACH,CAAC;gBAAS,CAAC;YACT,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;QACvB,CAAC;IACH,CAAC;CACF,CAAA;AAtCY,kCAAW;sBAAX,WAAW;IADvB,IAAA,mBAAU,GAAE;IAOR,WAAA,IAAA,eAAM,EAAC,qCAAe,CAAC,CAAA;qCADC,oCAAc;GAL9B,WAAW,CAsCvB"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@dudousxd/nestjs-durable",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.3.0",
|
|
4
4
|
"description": "Durable workflows for NestJS — module, decorators, discovery and boot recovery",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"author": "Davide Carvalho",
|
|
@@ -31,8 +31,8 @@
|
|
|
31
31
|
"rxjs": "7.8.2",
|
|
32
32
|
"typescript": "5.9.3",
|
|
33
33
|
"zod": "3.25.76",
|
|
34
|
-
"@dudousxd/nestjs-durable-core": "^0.
|
|
35
|
-
"@dudousxd/nestjs-durable-transport-event-emitter": "^0.
|
|
34
|
+
"@dudousxd/nestjs-durable-core": "^0.6.0",
|
|
35
|
+
"@dudousxd/nestjs-durable-transport-event-emitter": "^0.4.0"
|
|
36
36
|
},
|
|
37
37
|
"scripts": {
|
|
38
38
|
"build": "tsc -p tsconfig.json",
|