@n8n/scheduler 0.3.1 → 1.1.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/README.md +388 -40
- package/dist/build.tsbuildinfo +1 -1
- package/dist/core/clock-skew.d.ts +15 -0
- package/dist/core/clock-skew.js +20 -0
- package/dist/core/clock-skew.js.map +1 -0
- package/dist/core/errors.js.map +1 -1
- package/dist/core/executor/backoff.js.map +1 -1
- package/dist/core/executor/executor.js +20 -3
- package/dist/core/executor/executor.js.map +1 -1
- package/dist/core/executor/index.d.ts +1 -1
- package/dist/core/executor/index.js +2 -1
- package/dist/core/executor/index.js.map +1 -1
- package/dist/core/executor/precision-timer.js.map +1 -1
- package/dist/core/executor/store.d.ts +2 -1
- package/dist/core/executor/task-handler.d.ts +10 -1
- package/dist/core/executor/task-handler.js +14 -0
- package/dist/core/executor/task-handler.js.map +1 -1
- package/dist/core/factory.d.ts +5 -0
- package/dist/core/factory.js +47 -4
- package/dist/core/factory.js.map +1 -1
- package/dist/core/index.d.ts +8 -4
- package/dist/core/index.js +14 -2
- package/dist/core/index.js.map +1 -1
- package/dist/core/lifecycle/alarm.js.map +1 -1
- package/dist/core/lifecycle/index.d.ts +1 -1
- package/dist/core/lifecycle/index.js +2 -2
- package/dist/core/lifecycle/index.js.map +1 -1
- package/dist/core/lifecycle/lookahead.d.ts +1 -1
- package/dist/core/lifecycle/lookahead.js +2 -2
- package/dist/core/lifecycle/lookahead.js.map +1 -1
- package/dist/core/lifecycle/loop.js.map +1 -1
- package/dist/core/lifecycle/timeline.js.map +1 -1
- package/dist/core/materializer/materialize.js +2 -1
- package/dist/core/materializer/materialize.js.map +1 -1
- package/dist/core/materializer/options.d.ts +1 -0
- package/dist/core/materializer/options.js +1 -0
- package/dist/core/materializer/options.js.map +1 -1
- package/dist/core/materializer/plan.js.map +1 -1
- package/dist/core/materializer/transaction.d.ts +1 -1
- package/dist/core/provisioning/index.d.ts +1 -0
- package/dist/core/provisioning/index.js +3 -1
- package/dist/core/provisioning/index.js.map +1 -1
- package/dist/core/provisioning/provision.js +2 -22
- package/dist/core/provisioning/provision.js.map +1 -1
- package/dist/core/provisioning/provisioner.js.map +1 -1
- package/dist/core/provisioning/schedule-identity.d.ts +3 -0
- package/dist/core/provisioning/schedule-identity.js +36 -0
- package/dist/core/provisioning/schedule-identity.js.map +1 -0
- package/dist/core/reaper/reap.d.ts +7 -5
- package/dist/core/reaper/reap.js +14 -3
- package/dist/core/reaper/reap.js.map +1 -1
- package/dist/core/recurrence/field.js.map +1 -1
- package/dist/core/recurrence/kinds/cron.js.map +1 -1
- package/dist/core/recurrence/kinds/interval.js.map +1 -1
- package/dist/core/recurrence/kinds/one-off.js.map +1 -1
- package/dist/core/recurrence/kinds/recurring-cron.js.map +1 -1
- package/dist/core/recurrence/next-run.js.map +1 -1
- package/dist/core/recurrence/periods.js.map +1 -1
- package/dist/core/recurrence/resolve.js.map +1 -1
- package/dist/core/recurrence/validate.js.map +1 -1
- package/dist/core/retention/prune.js.map +1 -1
- package/dist/observability/attributes.d.ts +33 -33
- package/dist/observability/attributes.js.map +1 -1
- package/dist/observability/executor-tracing.js +4 -3
- package/dist/observability/executor-tracing.js.map +1 -1
- package/dist/observability/materializer-tracing.js.map +1 -1
- package/dist/observability/pass-tracing.js.map +1 -1
- package/dist/observability/provisioner-tracing.js.map +1 -1
- package/package.json +8 -8
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
export interface ClockSkew {
|
|
2
|
+
offsetMs: number;
|
|
3
|
+
roundTripMs: number;
|
|
4
|
+
}
|
|
5
|
+
export declare const CLOCK_SKEW_WARN_THRESHOLD_MS = 1000;
|
|
6
|
+
export interface ClockSkewOptions {
|
|
7
|
+
warnThresholdMs: number;
|
|
8
|
+
}
|
|
9
|
+
export declare const DEFAULT_CLOCK_SKEW_OPTIONS: ClockSkewOptions;
|
|
10
|
+
export declare function measureClockSkew(sample: {
|
|
11
|
+
before: number;
|
|
12
|
+
referenceNow: number;
|
|
13
|
+
after: number;
|
|
14
|
+
}): ClockSkew;
|
|
15
|
+
export declare function isClockSkewSignificant(skew: ClockSkew, thresholdMs?: number): boolean;
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.DEFAULT_CLOCK_SKEW_OPTIONS = exports.CLOCK_SKEW_WARN_THRESHOLD_MS = void 0;
|
|
4
|
+
exports.measureClockSkew = measureClockSkew;
|
|
5
|
+
exports.isClockSkewSignificant = isClockSkewSignificant;
|
|
6
|
+
exports.CLOCK_SKEW_WARN_THRESHOLD_MS = 1_000;
|
|
7
|
+
exports.DEFAULT_CLOCK_SKEW_OPTIONS = {
|
|
8
|
+
warnThresholdMs: exports.CLOCK_SKEW_WARN_THRESHOLD_MS,
|
|
9
|
+
};
|
|
10
|
+
function measureClockSkew(sample) {
|
|
11
|
+
const midpoint = sample.before + (sample.after - sample.before) / 2;
|
|
12
|
+
return {
|
|
13
|
+
offsetMs: sample.referenceNow - midpoint,
|
|
14
|
+
roundTripMs: sample.after - sample.before,
|
|
15
|
+
};
|
|
16
|
+
}
|
|
17
|
+
function isClockSkewSignificant(skew, thresholdMs = exports.CLOCK_SKEW_WARN_THRESHOLD_MS) {
|
|
18
|
+
return Math.abs(skew.offsetMs) > Math.max(thresholdMs, skew.roundTripMs / 2);
|
|
19
|
+
}
|
|
20
|
+
//# sourceMappingURL=clock-skew.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"clock-skew.js","sourceRoot":"","sources":["../../src/core/clock-skew.ts"],"names":[],"mappings":";;;;;AAuBa,QAAA,4BAA4B,GAAG,KAAK,CAAC;AAQrC,QAAA,0BAA0B,GAAqB;IAC3D,eAAe,EAAE,QAAA,4BAA4B;CAC7C,CAAC;AAOF,0BAAiC,MAOhC;IACA,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,GAAG,CAAC,MAAM,CAAC,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;IACpE,OAAO;QACN,QAAQ,EAAE,MAAM,CAAC,YAAY,GAAG,QAAQ;QACxC,WAAW,EAAE,MAAM,CAAC,KAAK,GAAG,MAAM,CAAC,MAAM;KACzC,CAAC;AACH,CAAC;AAOD,gCACC,IAAe,EACf,WAAW,GAAW,QAAA,4BAA4B;IAElD,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,IAAI,CAAC,WAAW,GAAG,CAAC,CAAC,CAAC;AAC9E,CAAC"}
|
package/dist/core/errors.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../../src/core/errors.ts"],"names":[],"mappings":";;;AAQA,
|
|
1
|
+
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../../src/core/errors.ts"],"names":[],"mappings":";;;AAQA,0BAAkC,SAAQ,KAAK;IAC9C,YAAY,OAAe;QAC1B,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,sBAAsB,CAAC;IACpC,CAAC;CACD;;AAMD,kCAA0C,SAAQ,KAAK;IACtD,YAAY,OAAe;QAC1B,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,8BAA8B,CAAC;IAC5C,CAAC;CACD;;AAMD,kCAA0C,SAAQ,KAAK;IACtD,YAAY,OAAe;QAC1B,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,8BAA8B,CAAC;IAC5C,CAAC;CACD;;AAOD,+BAAuC,SAAQ,KAAK;IACnD,YAAY,QAAgB;QAC3B,KAAK,CAAC,4BAA4B,QAAQ,yBAAyB,CAAC,CAAC;QACrE,IAAI,CAAC,IAAI,GAAG,2BAA2B,CAAC;IACzC,CAAC;CACD;;AAOD,4BAAoC,SAAQ,KAAK;IAChD,YAAY,OAAe;QAC1B,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,wBAAwB,CAAC;IACtC,CAAC;CACD"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"backoff.js","sourceRoot":"","sources":["../../../src/core/executor/backoff.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"backoff.js","sourceRoot":"","sources":["../../../src/core/executor/backoff.ts"],"names":[],"mappings":";;;AAAA,8CAAsC;AAmBtC,MAAM,eAAe,GAAG,CAAC,GAAG,gBAAI,CAAC,OAAO,CAAC,cAAc,CAAC;AACxD,MAAM,cAAc,GAAG,CAAC,CAAC;AACzB,MAAM,cAAc,GAAG,CAAC,GAAG,gBAAI,CAAC,OAAO,CAAC,cAAc,CAAC;AAEvD,iBAAwB,QAAgB,EAAE,IAAI,GAAmB,EAAE;IAClE,MAAM,EAAE,MAAM,GAAG,eAAe,EAAE,MAAM,GAAG,cAAc,EAAE,KAAK,GAAG,cAAc,EAAE,GAAG,IAAI,CAAC;IAC3F,IAAI,QAAQ,GAAG,CAAC;QAAE,OAAO,CAAC,CAAC;IAC3B,MAAM,GAAG,GAAG,MAAM,GAAG,MAAM,IAAI,CAAC,QAAQ,GAAG,CAAC,CAAC,CAAC;IAC9C,OAAO,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;AAC7B,CAAC"}
|
|
@@ -5,6 +5,7 @@ const constants_1 = require("@n8n/constants");
|
|
|
5
5
|
const ensure_error_1 = require("@n8n/utils/errors/ensure-error");
|
|
6
6
|
const backoff_1 = require("./backoff");
|
|
7
7
|
const options_1 = require("./options");
|
|
8
|
+
const task_handler_1 = require("./task-handler");
|
|
8
9
|
const tracing_1 = require("./tracing");
|
|
9
10
|
class Executor {
|
|
10
11
|
constructor(store, registry, timer, options = options_1.DEFAULT_EXECUTOR_OPTIONS, hooks = {}, tracing = tracing_1.noopExecutorTracing) {
|
|
@@ -73,20 +74,34 @@ class Executor {
|
|
|
73
74
|
await this.releaseClaimBestEffort(claim);
|
|
74
75
|
return { outcome: 'skipped-no-handler' };
|
|
75
76
|
}
|
|
76
|
-
const
|
|
77
|
-
if (
|
|
77
|
+
const won = await this.store.beginDispatch(claim, this.leaseMs);
|
|
78
|
+
if (won === 0) {
|
|
78
79
|
return { outcome: 'skipped-not-owned' };
|
|
79
80
|
}
|
|
80
81
|
const lagMs = this.timer.now() - task.runAt.getTime();
|
|
81
82
|
const lagSeconds = Math.max(0, lagMs) / constants_1.Time.seconds.toMilliseconds;
|
|
82
83
|
this.hooks.onDispatch?.(task.taskType, lagSeconds);
|
|
84
|
+
let dispatchMark;
|
|
85
|
+
const markDispatched = () => {
|
|
86
|
+
dispatchMark ??= this.store.markDispatched(claim).then(() => undefined, (error) => this.hooks.onFireError?.(task, error));
|
|
87
|
+
};
|
|
88
|
+
const report = (0, task_handler_1.createDispatchReporter)(markDispatched);
|
|
83
89
|
try {
|
|
84
|
-
await handler.execute(task);
|
|
90
|
+
await handler.execute(task, report);
|
|
85
91
|
}
|
|
86
92
|
catch (error) {
|
|
93
|
+
await dispatchMark;
|
|
87
94
|
const errorMessage = (0, ensure_error_1.ensureError)(error).message;
|
|
88
95
|
const nextAttempts = task.attempts + 1;
|
|
89
96
|
if (nextAttempts >= task.maxAttempts) {
|
|
97
|
+
if (dispatchMark !== undefined) {
|
|
98
|
+
const rowsAffected = await this.store.completeTask(claim);
|
|
99
|
+
if (rowsAffected > 0) {
|
|
100
|
+
this.hooks.onFire?.(task.taskType, 'success');
|
|
101
|
+
return { outcome: 'completed' };
|
|
102
|
+
}
|
|
103
|
+
return { outcome: 'skipped-not-owned', errorMessage };
|
|
104
|
+
}
|
|
90
105
|
const rowsAffected = await this.store.failTaskTerminal(claim, errorMessage);
|
|
91
106
|
if (rowsAffected > 0) {
|
|
92
107
|
this.hooks.onFire?.(task.taskType, 'failure');
|
|
@@ -101,6 +116,8 @@ class Executor {
|
|
|
101
116
|
}
|
|
102
117
|
return { outcome: 'skipped-not-owned', errorMessage };
|
|
103
118
|
}
|
|
119
|
+
markDispatched();
|
|
120
|
+
await dispatchMark;
|
|
104
121
|
const rowsAffected = await this.store.completeTask(claim);
|
|
105
122
|
if (rowsAffected > 0) {
|
|
106
123
|
this.hooks.onFire?.(task.taskType, 'success');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"executor.js","sourceRoot":"","sources":["../../../src/core/executor/executor.ts"],"names":[],"mappings":";;;AAAA,8CAAsC;AACtC,iEAA6D;AAE7D,uCAAoC;AACpC,uCAA2E;
|
|
1
|
+
{"version":3,"file":"executor.js","sourceRoot":"","sources":["../../../src/core/executor/executor.ts"],"names":[],"mappings":";;;AAAA,8CAAsC;AACtC,iEAA6D;AAE7D,uCAAoC;AACpC,uCAA2E;AAG3E,iDAAwD;AAExD,uCAAgD;AA8EhD;IAeC,YACkB,KAAwB,EACxB,QAA6B,EAC7B,KAAqB,EACrB,OAAO,GAAoB,kCAAwB,EACnD,KAAK,GAAkB,EAAE,EACzB,OAAO,GAAoB,6BAAmB;QAL9C,UAAK,GAAL,KAAK,CAAmB;QACxB,aAAQ,GAAR,QAAQ,CAAqB;QAC7B,UAAK,GAAL,KAAK,CAAgB;QACrB,YAAO,GAAP,OAAO,CAA4C;QACnD,UAAK,GAAL,KAAK,CAAoB;QACzB,YAAO,GAAP,OAAO,CAAuC;QAX/C,oBAAe,GAAG,IAAI,GAAG,EAAwB,CAAC;QAG3D,aAAQ,GAAG,KAAK,CAAC;QAUxB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,YAAY,GAAG,gBAAI,CAAC,OAAO,CAAC,cAAc,CAAC;QAGlE,IAAI,CAAC,WAAW,GAAG,OAAO,CAAC,gBAAgB,GAAG,gBAAI,CAAC,OAAO,CAAC,cAAc,CAAC;QAE1E,IAAI,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YACtC,IAAI,CAAC,KAAK,CAAC,2BAA2B,EAAE,CAAC;gBACxC,WAAW,EAAE,IAAI,CAAC,WAAW;gBAC7B,OAAO,EAAE,IAAI,CAAC,OAAO;aACrB,CAAC,CAAC;QACJ,CAAC;IACF,CAAC;IAaD,KAAK,CAAC,gBAAgB,CAAC,IAAY,EAAE,MAAoB;QACxD,MAAM,SAAS,GAAG,IAAI,CAAC,QAAQ,CAAC,eAAe,EAAE,CAAC;QAClD,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,EAAE,CAAC;QAEtC,MAAM,KAAK,GAAuB;YACjC,IAAI;YACJ,SAAS;YACT,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,SAAS,EAAE,IAAI,CAAC,OAAO,CAAC,SAAS;SACjC,CAAC;QACF,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QAOpD,IAAI,IAAI,CAAC,QAAQ,IAAI,MAAM,EAAE,OAAO,KAAK,IAAI,EAAE,CAAC;YAC/C,MAAM,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;YACvC,OAAO,EAAE,CAAC;QACX,CAAC;QAED,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YAC1B,IAAI,CAAC,eAAe,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QAClC,CAAC;QAED,OAAO,KAAK,CAAC;IACd,CAAC;IASO,KAAK,CAAC,cAAc,CAAC,IAAY,EAAE,KAAoB;QAC9D,MAAM,OAAO,CAAC,GAAG,CAChB,KAAK,CAAC,GAAG,CACR,KAAK,EAAE,IAAI,EAAE,EAAE,CACd,MAAM,IAAI,CAAC,sBAAsB,CAAC;YACjC,IAAI;YACJ,EAAE,EAAE,IAAI,CAAC,EAAE;YACX,YAAY,EAAE,IAAI,CAAC,UAAU;SAC7B,CAAC,CACH,CACD,CAAC;IACH,CAAC;IAGO,eAAe,CAAC,IAAY,EAAE,IAAiB;QAEtD,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;QAClD,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,EAAE,GAAG,EAAE;YAEpC,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAGrC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;gBACrC,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;YACvC,CAAC,CAAC,CAAC;QACJ,CAAC,CAAC,CAAC;IACJ,CAAC;IASD,KAAK,CAAC,IAAI,CAAC,IAAY,EAAE,IAAiB;QACzC,OAAO,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,IAAI,EAAE,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC;IACxF,CAAC;IAGO,KAAK,CAAC,OAAO,CAAC,IAAY,EAAE,IAAiB;QACpD,MAAM,KAAK,GAAmB,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE,YAAY,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC;QAMnF,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACrD,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;YAC3B,IAAI,CAAC,KAAK,CAAC,gBAAgB,EAAE,CAAC,IAAI,CAAC,CAAC;YACpC,MAAM,IAAI,CAAC,sBAAsB,CAAC,KAAK,CAAC,CAAC;YACzC,OAAO,EAAE,OAAO,EAAE,oBAAoB,EAAE,CAAC;QAC1C,CAAC;QAOD,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;QAChE,IAAI,GAAG,KAAK,CAAC,EAAE,CAAC;YACf,OAAO,EAAE,OAAO,EAAE,mBAAmB,EAAE,CAAC;QACzC,CAAC;QAQD,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC;QACtD,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,CAAC,GAAG,gBAAI,CAAC,OAAO,CAAC,cAAc,CAAC;QACpE,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE,CAAC,IAAI,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;QAUnD,IAAI,YAAuC,CAAC;QAC5C,MAAM,cAAc,GAAG,GAAS,EAAE;YACjC,YAAY,KAAK,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,IAAI,CACrD,GAAG,EAAE,CAAC,SAAS,EACf,CAAC,KAAc,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,KAAK,CAAC,CACzD,CAAC;QACH,CAAC,CAAC;QACF,MAAM,MAAM,GAAG,IAAA,qCAAsB,EAAC,cAAc,CAAC,CAAC;QAKtD,IAAI,CAAC;YACJ,MAAM,OAAO,CAAC,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QACrC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YAChB,MAAM,YAAY,CAAC;YACnB,MAAM,YAAY,GAAG,IAAA,0BAAW,EAAC,KAAK,CAAC,CAAC,OAAO,CAAC;YAChD,MAAM,YAAY,GAAG,IAAI,CAAC,QAAQ,GAAG,CAAC,CAAC;YACvC,IAAI,YAAY,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;gBAMtC,IAAI,YAAY,KAAK,SAAS,EAAE,CAAC;oBAChC,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;oBAC1D,IAAI,YAAY,GAAG,CAAC,EAAE,CAAC;wBACtB,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;wBAC9C,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,CAAC;oBACjC,CAAC;oBACD,OAAO,EAAE,OAAO,EAAE,mBAAmB,EAAE,YAAY,EAAE,CAAC;gBACvD,CAAC;gBAMD,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,KAAK,EAAE,YAAY,CAAC,CAAC;gBAC5E,IAAI,YAAY,GAAG,CAAC,EAAE,CAAC;oBACtB,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;oBAC9C,OAAO,EAAE,OAAO,EAAE,eAAe,EAAE,YAAY,EAAE,CAAC;gBACnD,CAAC;gBACD,OAAO,EAAE,OAAO,EAAE,mBAAmB,EAAE,YAAY,EAAE,CAAC;YACvD,CAAC;YACD,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,cAAc,CACnD,KAAK,EACL,IAAA,iBAAO,EAAC,YAAY,CAAC,EACrB,YAAY,CACZ,CAAC;YACF,IAAI,YAAY,GAAG,CAAC,EAAE,CAAC;gBACtB,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;gBACpC,OAAO,EAAE,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,CAAC;YACjD,CAAC;YACD,OAAO,EAAE,OAAO,EAAE,mBAAmB,EAAE,YAAY,EAAE,CAAC;QACvD,CAAC;QAED,cAAc,EAAE,CAAC;QACjB,MAAM,YAAY,CAAC;QACnB,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;QAC1D,IAAI,YAAY,GAAG,CAAC,EAAE,CAAC;YACtB,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;YAC9C,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,CAAC;QACjC,CAAC;QACD,OAAO,EAAE,OAAO,EAAE,mBAAmB,EAAE,CAAC;IACzC,CAAC;IAGO,KAAK,CAAC,sBAAsB,CAAC,KAAqB;QACzD,IAAI,CAAC;YACJ,MAAM,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;QACtC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YAChB,IAAI,CAAC,KAAK,CAAC,cAAc,EAAE,CAAC,KAAK,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;QAC9C,CAAC;IACF,CAAC;IAUD,KAAK,CAAC,IAAI;QACT,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;QACrB,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,CAAC;QAEvB,MAAM,OAAO,GAAG,CAAC,GAAG,IAAI,CAAC,eAAe,CAAC,MAAM,EAAE,CAAC,CAAC;QACnD,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,UAAU,CACvC,OAAO,CAAC,GAAG,CACV,KAAK,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE,CACxB,MAAM,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC;YAC7B,IAAI;YACJ,EAAE,EAAE,IAAI,CAAC,EAAE;YACX,YAAY,EAAE,IAAI,CAAC,UAAU;SAC7B,CAAC,CACH,CACD,CAAC;QAEF,OAAO,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE;YACjC,IAAI,MAAM,CAAC,MAAM,KAAK,UAAU,EAAE,CAAC;gBAClC,IAAI,CAAC,KAAK,CAAC,cAAc,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,EAAE,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;YACpE,CAAC;QACF,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,CAAC;IAC9B,CAAC;CACD"}
|
|
@@ -3,6 +3,6 @@ export { noopExecutorTracing } from './tracing';
|
|
|
3
3
|
export type { ExecutorTracing, FireResult } from './tracing';
|
|
4
4
|
export { DEFAULT_EXECUTOR_OPTIONS, type ExecutorOptions } from './options';
|
|
5
5
|
export type { ClaimedTaskRef, ClaimDueTasksBatch, ExecutorTaskStore } from './store';
|
|
6
|
-
export { TaskHandlerRegistry, type TaskHandler } from './task-handler';
|
|
6
|
+
export { TaskHandlerRegistry, createDispatchReporter, type TaskHandler, type DispatchReporter, type DispatchDecision, } from './task-handler';
|
|
7
7
|
export { PrecisionTimer, type TimerBackend } from './precision-timer';
|
|
8
8
|
export { backoff, type BackoffOptions } from './backoff';
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.backoff = exports.PrecisionTimer = exports.TaskHandlerRegistry = exports.DEFAULT_EXECUTOR_OPTIONS = exports.noopExecutorTracing = exports.Executor = void 0;
|
|
3
|
+
exports.backoff = exports.PrecisionTimer = exports.createDispatchReporter = exports.TaskHandlerRegistry = exports.DEFAULT_EXECUTOR_OPTIONS = exports.noopExecutorTracing = exports.Executor = void 0;
|
|
4
4
|
var executor_1 = require("./executor");
|
|
5
5
|
Object.defineProperty(exports, "Executor", { enumerable: true, get: function () { return executor_1.Executor; } });
|
|
6
6
|
var tracing_1 = require("./tracing");
|
|
@@ -9,6 +9,7 @@ var options_1 = require("./options");
|
|
|
9
9
|
Object.defineProperty(exports, "DEFAULT_EXECUTOR_OPTIONS", { enumerable: true, get: function () { return options_1.DEFAULT_EXECUTOR_OPTIONS; } });
|
|
10
10
|
var task_handler_1 = require("./task-handler");
|
|
11
11
|
Object.defineProperty(exports, "TaskHandlerRegistry", { enumerable: true, get: function () { return task_handler_1.TaskHandlerRegistry; } });
|
|
12
|
+
Object.defineProperty(exports, "createDispatchReporter", { enumerable: true, get: function () { return task_handler_1.createDispatchReporter; } });
|
|
12
13
|
var precision_timer_1 = require("./precision-timer");
|
|
13
14
|
Object.defineProperty(exports, "PrecisionTimer", { enumerable: true, get: function () { return precision_timer_1.PrecisionTimer; } });
|
|
14
15
|
var backoff_1 = require("./backoff");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/core/executor/index.ts"],"names":[],"mappings":";;;AAAA,uCAA0D;AAAjD,oGAAA,QAAQ,OAAA;AACjB,qCAAgD;AAAvC,8GAAA,mBAAmB,OAAA;AAE5B,qCAA2E;AAAlE,mHAAA,wBAAwB,OAAA;AAEjC,+
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/core/executor/index.ts"],"names":[],"mappings":";;;AAAA,uCAA0D;AAAjD,oGAAA,QAAQ,OAAA;AACjB,qCAAgD;AAAvC,8GAAA,mBAAmB,OAAA;AAE5B,qCAA2E;AAAlE,mHAAA,wBAAwB,OAAA;AAEjC,+CAMwB;AALvB,mHAAA,mBAAmB,OAAA;AACnB,sHAAA,sBAAsB,OAAA;AAKvB,qDAAsE;AAA7D,iHAAA,cAAc,OAAA;AACvB,qCAAyD;AAAhD,kGAAA,OAAO,OAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"precision-timer.js","sourceRoot":"","sources":["../../../src/core/executor/precision-timer.ts"],"names":[],"mappings":";;;AAAA,8CAA2D;AAY3D,MAAM,cAAc,GAAiB;IACpC,GAAG,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE;IACrB,QAAQ,EAAE,CAAC,EAAE,EAAE,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,EAAE,EAAE,OAAO,CAAC;IAClD,UAAU,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,YAAY,CAAC,MAAM,CAAC;CAC5C,CAAC;AAGF,MAAM,YAAY,GAAG,qCAAyB,CAAC;AAY/C
|
|
1
|
+
{"version":3,"file":"precision-timer.js","sourceRoot":"","sources":["../../../src/core/executor/precision-timer.ts"],"names":[],"mappings":";;;AAAA,8CAA2D;AAY3D,MAAM,cAAc,GAAiB;IACpC,GAAG,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE;IACrB,QAAQ,EAAE,CAAC,EAAE,EAAE,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,EAAE,EAAE,OAAO,CAAC;IAClD,UAAU,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,YAAY,CAAC,MAAM,CAAC;CAC5C,CAAC;AAGF,MAAM,YAAY,GAAG,qCAAyB,CAAC;AAY/C;IAGC,YAA6B,OAAO,GAAiB,cAAc;QAAtC,YAAO,GAAP,OAAO,CAA+B;QAFlD,YAAO,GAAG,IAAI,GAAG,EAAkB,CAAC;IAEiB,CAAC;IAGvE,GAAG;QACF,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC;IAC3B,CAAC;IAGD,QAAQ,CAAC,KAAW,EAAE,EAAc;QAInC,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,EAAE,YAAY,CAAC,CAAC;QAGxF,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,EAAE;YACzC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;YAC5B,EAAE,EAAE,CAAC;QACN,CAAC,EAAE,KAAK,CAAC,CAAC;QACV,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IAC1B,CAAC;IAGD,SAAS;QAGR,MAAM,OAAO,GAAG,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC;QAClC,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;QACrB,KAAK,MAAM,MAAM,IAAI,OAAO;YAAE,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;IAC/D,CAAC;IAED,IAAI,YAAY;QACf,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC;IAC1B,CAAC;CACD"}
|
|
@@ -13,7 +13,8 @@ export interface ClaimDueTasksBatch {
|
|
|
13
13
|
}
|
|
14
14
|
export interface ExecutorTaskStore {
|
|
15
15
|
claimDueTasks(batch: ClaimDueTasksBatch): Promise<ClaimedTask[]>;
|
|
16
|
-
|
|
16
|
+
beginDispatch(claim: ClaimedTaskRef, leaseMs: number): Promise<number>;
|
|
17
|
+
markDispatched(claim: ClaimedTaskRef): Promise<number>;
|
|
17
18
|
completeTask(claim: ClaimedTaskRef): Promise<number>;
|
|
18
19
|
failTaskTerminal(claim: ClaimedTaskRef, errorMessage: string): Promise<number>;
|
|
19
20
|
rescheduleTask(claim: ClaimedTaskRef, backoffMs: number, errorMessage: string): Promise<number>;
|
|
@@ -1,6 +1,14 @@
|
|
|
1
1
|
import type { ClaimedTask } from '../types';
|
|
2
|
+
declare const DISPATCHED: unique symbol;
|
|
3
|
+
declare const NOT_DISPATCHED: unique symbol;
|
|
4
|
+
export type DispatchDecision = typeof DISPATCHED | typeof NOT_DISPATCHED;
|
|
5
|
+
export interface DispatchReporter {
|
|
6
|
+
dispatched(): DispatchDecision;
|
|
7
|
+
notDispatched(): DispatchDecision;
|
|
8
|
+
}
|
|
9
|
+
export declare function createDispatchReporter(onDispatch: () => void): DispatchReporter;
|
|
2
10
|
export interface TaskHandler {
|
|
3
|
-
execute(task: ClaimedTask): Promise<
|
|
11
|
+
execute(task: ClaimedTask, report: DispatchReporter): Promise<DispatchDecision>;
|
|
4
12
|
}
|
|
5
13
|
export declare class TaskHandlerRegistry {
|
|
6
14
|
private readonly handlers;
|
|
@@ -8,3 +16,4 @@ export declare class TaskHandlerRegistry {
|
|
|
8
16
|
resolve(taskType: string): TaskHandler | undefined;
|
|
9
17
|
registeredTypes(): string[];
|
|
10
18
|
}
|
|
19
|
+
export {};
|
|
@@ -1,7 +1,21 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.TaskHandlerRegistry = void 0;
|
|
4
|
+
exports.createDispatchReporter = createDispatchReporter;
|
|
4
5
|
const errors_1 = require("../errors");
|
|
6
|
+
const DISPATCHED = Symbol('dispatched');
|
|
7
|
+
const NOT_DISPATCHED = Symbol('not-dispatched');
|
|
8
|
+
function createDispatchReporter(onDispatch) {
|
|
9
|
+
return {
|
|
10
|
+
dispatched() {
|
|
11
|
+
onDispatch();
|
|
12
|
+
return DISPATCHED;
|
|
13
|
+
},
|
|
14
|
+
notDispatched() {
|
|
15
|
+
return NOT_DISPATCHED;
|
|
16
|
+
},
|
|
17
|
+
};
|
|
18
|
+
}
|
|
5
19
|
class TaskHandlerRegistry {
|
|
6
20
|
constructor() {
|
|
7
21
|
this.handlers = new Map();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"task-handler.js","sourceRoot":"","sources":["../../../src/core/executor/task-handler.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"task-handler.js","sourceRoot":"","sources":["../../../src/core/executor/task-handler.ts"],"names":[],"mappings":";;;;AAAA,sCAAsD;AAOtD,MAAM,UAAU,GAAG,MAAM,CAAC,YAAY,CAAC,CAAC;AACxC,MAAM,cAAc,GAAG,MAAM,CAAC,gBAAgB,CAAC,CAAC;AAyChD,gCAAuC,UAAsB;IAC5D,OAAO;QACN,UAAU;YACT,UAAU,EAAE,CAAC;YACb,OAAO,UAAU,CAAC;QACnB,CAAC;QACD,aAAa;YACZ,OAAO,cAAc,CAAC;QACvB,CAAC;KACD,CAAC;AACH,CAAC;AA4BD;IAAA;QACkB,aAAQ,GAAG,IAAI,GAAG,EAAuB,CAAC;IAkB5D,CAAC;IAfA,QAAQ,CAAC,QAAgB,EAAE,OAAoB;QAC9C,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;YACjC,MAAM,IAAI,kCAAyB,CAAC,QAAQ,CAAC,CAAC;QAC/C,CAAC;QACD,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IACtC,CAAC;IAED,OAAO,CAAC,QAAgB;QACvB,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IACpC,CAAC;IAGD,eAAe;QACd,OAAO,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC;IAClC,CAAC;CACD"}
|
package/dist/core/factory.d.ts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { type ClockSkewOptions } from './clock-skew';
|
|
1
2
|
import type { ExecutorOptions, ExecutorTaskStore } from './executor';
|
|
2
3
|
import type { LifecycleOptions } from './lifecycle';
|
|
3
4
|
import type { MaterializerOptions, RunInTransaction } from './materializer';
|
|
@@ -7,6 +8,7 @@ import type { Scheduler, SchedulerPasses } from './scheduler';
|
|
|
7
8
|
import { type SchedulerMetrics } from '../observability/metrics';
|
|
8
9
|
import { type Tracer } from '../observability/tracer';
|
|
9
10
|
export type SchedulerEventLevel = 'debug' | 'info' | 'warn' | 'error';
|
|
11
|
+
export declare const DEFAULT_DISPATCH_LAG_WARN_THRESHOLD_SECONDS = 30;
|
|
10
12
|
export interface SchedulerEvent {
|
|
11
13
|
level: SchedulerEventLevel;
|
|
12
14
|
message: string;
|
|
@@ -21,7 +23,10 @@ export interface SchedulerDeps {
|
|
|
21
23
|
executor?: Partial<ExecutorOptions>;
|
|
22
24
|
reaper?: Partial<ReaperOptions>;
|
|
23
25
|
retention?: Partial<RetentionOptions>;
|
|
26
|
+
clockSkew?: Partial<ClockSkewOptions>;
|
|
27
|
+
dispatchLagWarnThresholdSeconds?: number;
|
|
24
28
|
lifecycle?: Partial<LifecycleOptions>;
|
|
29
|
+
now?: () => Promise<Date>;
|
|
25
30
|
onEvent?: (event: SchedulerEvent) => void;
|
|
26
31
|
tracer?: Tracer;
|
|
27
32
|
metrics?: SchedulerMetrics;
|
package/dist/core/factory.js
CHANGED
|
@@ -1,8 +1,10 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.DEFAULT_DISPATCH_LAG_WARN_THRESHOLD_SECONDS = void 0;
|
|
3
4
|
exports.createScheduler = createScheduler;
|
|
4
5
|
const constants_1 = require("@n8n/constants");
|
|
5
6
|
const ensure_error_1 = require("@n8n/utils/errors/ensure-error");
|
|
7
|
+
const clock_skew_1 = require("./clock-skew");
|
|
6
8
|
const errors_1 = require("./errors");
|
|
7
9
|
const executor_1 = require("./executor");
|
|
8
10
|
const lifecycle_1 = require("./lifecycle");
|
|
@@ -15,6 +17,7 @@ const materializer_tracing_1 = require("../observability/materializer-tracing");
|
|
|
15
17
|
const metrics_1 = require("../observability/metrics");
|
|
16
18
|
const pass_tracing_1 = require("../observability/pass-tracing");
|
|
17
19
|
const tracer_1 = require("../observability/tracer");
|
|
20
|
+
exports.DEFAULT_DISPATCH_LAG_WARN_THRESHOLD_SECONDS = 30;
|
|
18
21
|
function withDefaults(defaults, overrides = {}) {
|
|
19
22
|
const merged = { ...defaults };
|
|
20
23
|
for (const key of Object.keys(overrides)) {
|
|
@@ -34,6 +37,8 @@ function createScheduler(deps) {
|
|
|
34
37
|
const reaperOptions = withDefaults(reaper_1.DEFAULT_REAPER_OPTIONS, deps.reaper);
|
|
35
38
|
const retentionOptions = withDefaults(retention_1.DEFAULT_RETENTION_OPTIONS, deps.retention);
|
|
36
39
|
const lifecycleOptions = withDefaults(lifecycle_1.DEFAULT_LIFECYCLE_OPTIONS, deps.lifecycle);
|
|
40
|
+
const clockSkewOptions = withDefaults(clock_skew_1.DEFAULT_CLOCK_SKEW_OPTIONS, deps.clockSkew);
|
|
41
|
+
const dispatchLagWarnThresholdSeconds = deps.dispatchLagWarnThresholdSeconds ?? exports.DEFAULT_DISPATCH_LAG_WARN_THRESHOLD_SECONDS;
|
|
37
42
|
if (!(lifecycleOptions.jitterRatio >= 0 && lifecycleOptions.jitterRatio < 1)) {
|
|
38
43
|
throw new errors_1.InvalidLifecycleOptionsError(`jitterRatio must be at least 0 and below 1, got ${lifecycleOptions.jitterRatio}`);
|
|
39
44
|
}
|
|
@@ -69,6 +74,14 @@ function createScheduler(deps) {
|
|
|
69
74
|
}
|
|
70
75
|
};
|
|
71
76
|
const described = (error) => (0, ensure_error_1.ensureError)(error).message;
|
|
77
|
+
materializerOptions.lookaheadSeconds =
|
|
78
|
+
(0, lifecycle_1.pollLookaheadSeconds)(lifecycleOptions.materializerIntervalSeconds, lifecycleOptions.jitterRatio) + executorOptions.lookaheadSeconds;
|
|
79
|
+
if (materializerOptions.lookaheadSeconds > materializerOptions.windowSeconds) {
|
|
80
|
+
emit('warn', 'Scheduler materializer lookahead exceeds the window; jobs may be reclaimed with nothing to plan', {
|
|
81
|
+
lookaheadSeconds: materializerOptions.lookaheadSeconds,
|
|
82
|
+
windowSeconds: materializerOptions.windowSeconds,
|
|
83
|
+
});
|
|
84
|
+
}
|
|
72
85
|
const recordMetric = (record) => {
|
|
73
86
|
try {
|
|
74
87
|
record();
|
|
@@ -99,10 +112,18 @@ function createScheduler(deps) {
|
|
|
99
112
|
error: described(error),
|
|
100
113
|
});
|
|
101
114
|
},
|
|
102
|
-
onDispatch: (taskType, lagSeconds) =>
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
115
|
+
onDispatch: (taskType, lagSeconds) => {
|
|
116
|
+
recordMetric(() => {
|
|
117
|
+
metrics.recordDispatch(taskType);
|
|
118
|
+
metrics.observeDispatchLagSeconds(taskType, lagSeconds);
|
|
119
|
+
});
|
|
120
|
+
if (lagSeconds >= dispatchLagWarnThresholdSeconds) {
|
|
121
|
+
emit('warn', 'Scheduler fired a task later than its scheduled time', {
|
|
122
|
+
taskType,
|
|
123
|
+
lagSeconds: Math.round(lagSeconds),
|
|
124
|
+
});
|
|
125
|
+
}
|
|
126
|
+
},
|
|
106
127
|
onFire: (taskType, result) => recordMetric(() => {
|
|
107
128
|
metrics.recordFireOutcome(taskType, result);
|
|
108
129
|
if (result === 'failure')
|
|
@@ -164,6 +185,9 @@ function createScheduler(deps) {
|
|
|
164
185
|
...task,
|
|
165
186
|
});
|
|
166
187
|
},
|
|
188
|
+
onCompletedAfterDispatch: ({ taskId }) => {
|
|
189
|
+
emit('warn', 'Scheduler completed a task whose lease lapsed after dispatch; its effect had already happened', { taskId });
|
|
190
|
+
},
|
|
167
191
|
}, signal);
|
|
168
192
|
recordMetric(() => metrics.recordReaped(result.reclaimed, result.deadLettered));
|
|
169
193
|
return result;
|
|
@@ -220,6 +244,24 @@ function createScheduler(deps) {
|
|
|
220
244
|
loopOver('reaper', runReap, lifecycleOptions.reaperIntervalSeconds, lifecycleOptions.reaperTimeoutSeconds),
|
|
221
245
|
loopOver('retention', runPrune, lifecycleOptions.retentionIntervalSeconds, lifecycleOptions.retentionTimeoutSeconds),
|
|
222
246
|
];
|
|
247
|
+
const checkClockSkew = async () => {
|
|
248
|
+
if (deps.now === undefined)
|
|
249
|
+
return;
|
|
250
|
+
try {
|
|
251
|
+
const before = Date.now();
|
|
252
|
+
const referenceNow = await deps.now();
|
|
253
|
+
const after = Date.now();
|
|
254
|
+
const skew = (0, clock_skew_1.measureClockSkew)({ before, referenceNow: referenceNow.getTime(), after });
|
|
255
|
+
if ((0, clock_skew_1.isClockSkewSignificant)(skew, clockSkewOptions.warnThresholdMs)) {
|
|
256
|
+
emit('warn', 'Scheduler detected a clock difference between this instance and the clock it coordinates on; scheduled tasks may fire slightly early or late. Synchronise this instance clock (e.g. via NTP).', { offsetMs: Math.round(skew.offsetMs), roundTripMs: Math.round(skew.roundTripMs) });
|
|
257
|
+
}
|
|
258
|
+
}
|
|
259
|
+
catch (error) {
|
|
260
|
+
emit('debug', 'Scheduler could not check the clock difference', {
|
|
261
|
+
error: described(error),
|
|
262
|
+
});
|
|
263
|
+
}
|
|
264
|
+
};
|
|
223
265
|
let started = false;
|
|
224
266
|
let stopping;
|
|
225
267
|
return {
|
|
@@ -237,6 +279,7 @@ function createScheduler(deps) {
|
|
|
237
279
|
loop.start();
|
|
238
280
|
}
|
|
239
281
|
emit('info', 'Scheduler started', { hostId });
|
|
282
|
+
void checkClockSkew();
|
|
240
283
|
}
|
|
241
284
|
},
|
|
242
285
|
async stop() {
|
package/dist/core/factory.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"factory.js","sourceRoot":"","sources":["../../src/core/factory.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"factory.js","sourceRoot":"","sources":["../../src/core/factory.ts"],"names":[],"mappings":"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"}
|
package/dist/core/index.d.ts
CHANGED
|
@@ -1,14 +1,18 @@
|
|
|
1
1
|
export type { Scheduler, SchedulerPasses } from './scheduler';
|
|
2
|
-
export { createScheduler } from './factory';
|
|
2
|
+
export { createScheduler, DEFAULT_DISPATCH_LAG_WARN_THRESHOLD_SECONDS } from './factory';
|
|
3
3
|
export type { SchedulerDeps, SchedulerEvent, SchedulerEventLevel, SchedulerTaskStore, } from './factory';
|
|
4
4
|
export type { ClaimedTask, CronSchedule, IntervalSchedule, OneOffSchedule, RecurringCronSchedule, Schedule, } from './types';
|
|
5
5
|
export { computeFirstRunAt, computeNextRunAt } from './recurrence/next-run';
|
|
6
6
|
export { validateSchedule } from './recurrence/validate';
|
|
7
|
-
export {
|
|
7
|
+
export { CLOCK_SKEW_WARN_THRESHOLD_MS, DEFAULT_CLOCK_SKEW_OPTIONS, isClockSkewSignificant, measureClockSkew, } from './clock-skew';
|
|
8
|
+
export type { ClockSkew, ClockSkewOptions } from './clock-skew';
|
|
9
|
+
export { provision, deprovision, createJobProvisioner, scheduleFingerprint } from './provisioning';
|
|
8
10
|
export type { JobProvisioner, JobProvisionerDeps, ProvisionTransaction, RunInProvisionTransaction, DeprovisionTransaction, RunInDeprovisionTransaction, ScheduleDefinition, CronDefinition, RecurringCronDefinition, IntervalDefinition, OneOffDefinition, DesiredJob, ExistingJob, ProvisionedJob, ProvisionSummary, } from './provisioning';
|
|
9
|
-
export
|
|
11
|
+
export { createDispatchReporter } from './executor';
|
|
12
|
+
export type { ExecutorOptions, TaskHandler, DispatchReporter, DispatchDecision, } from './executor';
|
|
13
|
+
export { DEFAULT_MATERIALIZER_OPTIONS, materialize } from './materializer';
|
|
10
14
|
export type { MaterializerOptions, MaterializerSummary, NewOccurrence, RunInTransaction, } from './materializer';
|
|
11
|
-
export {
|
|
15
|
+
export { pollLookaheadSeconds } from './lifecycle';
|
|
12
16
|
export type { ConcurrencyMode, LifecycleOptions } from './lifecycle';
|
|
13
17
|
export type { ReaperOptions, ReapResult } from './reaper';
|
|
14
18
|
export type { RetentionOptions, RetentionSummary } from './retention';
|
package/dist/core/index.js
CHANGED
|
@@ -1,19 +1,31 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.noopMetrics = exports.noopTracer = exports.SpanStatus = exports.
|
|
3
|
+
exports.noopMetrics = exports.noopTracer = exports.SpanStatus = exports.pollLookaheadSeconds = exports.materialize = exports.DEFAULT_MATERIALIZER_OPTIONS = exports.createDispatchReporter = exports.scheduleFingerprint = exports.createJobProvisioner = exports.deprovision = exports.provision = exports.measureClockSkew = exports.isClockSkewSignificant = exports.DEFAULT_CLOCK_SKEW_OPTIONS = exports.CLOCK_SKEW_WARN_THRESHOLD_MS = exports.validateSchedule = exports.computeNextRunAt = exports.computeFirstRunAt = exports.DEFAULT_DISPATCH_LAG_WARN_THRESHOLD_SECONDS = exports.createScheduler = void 0;
|
|
4
4
|
var factory_1 = require("./factory");
|
|
5
5
|
Object.defineProperty(exports, "createScheduler", { enumerable: true, get: function () { return factory_1.createScheduler; } });
|
|
6
|
+
Object.defineProperty(exports, "DEFAULT_DISPATCH_LAG_WARN_THRESHOLD_SECONDS", { enumerable: true, get: function () { return factory_1.DEFAULT_DISPATCH_LAG_WARN_THRESHOLD_SECONDS; } });
|
|
6
7
|
var next_run_1 = require("./recurrence/next-run");
|
|
7
8
|
Object.defineProperty(exports, "computeFirstRunAt", { enumerable: true, get: function () { return next_run_1.computeFirstRunAt; } });
|
|
8
9
|
Object.defineProperty(exports, "computeNextRunAt", { enumerable: true, get: function () { return next_run_1.computeNextRunAt; } });
|
|
9
10
|
var validate_1 = require("./recurrence/validate");
|
|
10
11
|
Object.defineProperty(exports, "validateSchedule", { enumerable: true, get: function () { return validate_1.validateSchedule; } });
|
|
12
|
+
var clock_skew_1 = require("./clock-skew");
|
|
13
|
+
Object.defineProperty(exports, "CLOCK_SKEW_WARN_THRESHOLD_MS", { enumerable: true, get: function () { return clock_skew_1.CLOCK_SKEW_WARN_THRESHOLD_MS; } });
|
|
14
|
+
Object.defineProperty(exports, "DEFAULT_CLOCK_SKEW_OPTIONS", { enumerable: true, get: function () { return clock_skew_1.DEFAULT_CLOCK_SKEW_OPTIONS; } });
|
|
15
|
+
Object.defineProperty(exports, "isClockSkewSignificant", { enumerable: true, get: function () { return clock_skew_1.isClockSkewSignificant; } });
|
|
16
|
+
Object.defineProperty(exports, "measureClockSkew", { enumerable: true, get: function () { return clock_skew_1.measureClockSkew; } });
|
|
11
17
|
var provisioning_1 = require("./provisioning");
|
|
12
18
|
Object.defineProperty(exports, "provision", { enumerable: true, get: function () { return provisioning_1.provision; } });
|
|
13
19
|
Object.defineProperty(exports, "deprovision", { enumerable: true, get: function () { return provisioning_1.deprovision; } });
|
|
14
20
|
Object.defineProperty(exports, "createJobProvisioner", { enumerable: true, get: function () { return provisioning_1.createJobProvisioner; } });
|
|
21
|
+
Object.defineProperty(exports, "scheduleFingerprint", { enumerable: true, get: function () { return provisioning_1.scheduleFingerprint; } });
|
|
22
|
+
var executor_1 = require("./executor");
|
|
23
|
+
Object.defineProperty(exports, "createDispatchReporter", { enumerable: true, get: function () { return executor_1.createDispatchReporter; } });
|
|
24
|
+
var materializer_1 = require("./materializer");
|
|
25
|
+
Object.defineProperty(exports, "DEFAULT_MATERIALIZER_OPTIONS", { enumerable: true, get: function () { return materializer_1.DEFAULT_MATERIALIZER_OPTIONS; } });
|
|
26
|
+
Object.defineProperty(exports, "materialize", { enumerable: true, get: function () { return materializer_1.materialize; } });
|
|
15
27
|
var lifecycle_1 = require("./lifecycle");
|
|
16
|
-
Object.defineProperty(exports, "
|
|
28
|
+
Object.defineProperty(exports, "pollLookaheadSeconds", { enumerable: true, get: function () { return lifecycle_1.pollLookaheadSeconds; } });
|
|
17
29
|
var tracer_1 = require("../observability/tracer");
|
|
18
30
|
Object.defineProperty(exports, "SpanStatus", { enumerable: true, get: function () { return tracer_1.SpanStatus; } });
|
|
19
31
|
Object.defineProperty(exports, "noopTracer", { enumerable: true, get: function () { return tracer_1.noopTracer; } });
|
package/dist/core/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/core/index.ts"],"names":[],"mappings":";;;AACA,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/core/index.ts"],"names":[],"mappings":";;;AACA,qCAAyF;AAAhF,0GAAA,eAAe,OAAA;AAAE,sIAAA,2CAA2C,OAAA;AAgBrE,kDAA4E;AAAnE,6GAAA,iBAAiB,OAAA;AAAE,4GAAA,gBAAgB,OAAA;AAC5C,kDAAyD;AAAhD,4GAAA,gBAAgB,OAAA;AAEzB,2CAKsB;AAJrB,0HAAA,4BAA4B,OAAA;AAC5B,wHAAA,0BAA0B,OAAA;AAC1B,oHAAA,sBAAsB,OAAA;AACtB,8GAAA,gBAAgB,OAAA;AAIjB,+CAAmG;AAA1F,yGAAA,SAAS,OAAA;AAAE,2GAAA,WAAW,OAAA;AAAE,oHAAA,oBAAoB,OAAA;AAAE,mHAAA,mBAAmB,OAAA;AAkB1E,uCAAoD;AAA3C,kHAAA,sBAAsB,OAAA;AAO/B,+CAA2E;AAAlE,4HAAA,4BAA4B,OAAA;AAAE,2GAAA,WAAW,OAAA;AAOlD,yCAAmD;AAA1C,iHAAA,oBAAoB,OAAA;AAK7B,kDAAiE;AAAxD,oGAAA,UAAU,OAAA;AAAE,oGAAA,UAAU,OAAA;AAE/B,oDAAuD;AAA9C,sGAAA,WAAW,OAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"alarm.js","sourceRoot":"","sources":["../../../src/core/lifecycle/alarm.ts"],"names":[],"mappings":";;;AAAA,8CAA2D;AAG9C,QAAA,YAAY,GAAG,qCAAyB,CAAC;AAQtD
|
|
1
|
+
{"version":3,"file":"alarm.js","sourceRoot":"","sources":["../../../src/core/lifecycle/alarm.ts"],"names":[],"mappings":";;;AAAA,8CAA2D;AAG9C,QAAA,YAAY,GAAG,qCAAyB,CAAC;AAQtD;IAGC,YAA6B,GAAiB;mBAAjB,GAAG;IAAiB,CAAC;IAGlD,GAAG,CAAC,QAAgB,EAAE,IAAgB;QACrC,IAAI,CAAC,MAAM,EAAE,CAAC;QACd,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,EAAE,QAAA,YAAY,CAAC,CAAC;QAC3E,IAAI,CAAC,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE;YAC5B,IAAI,CAAC,KAAK,GAAG,SAAS,CAAC;YAEvB,IAAI,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC;gBAC3B,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;YAC1B,CAAC;iBAAM,CAAC;gBACP,IAAI,EAAE,CAAC;YACR,CAAC;QACF,CAAC,EAAE,OAAO,CAAC,CAAC;QACZ,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;IACpB,CAAC;IAED,MAAM;QACL,IAAI,IAAI,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;YAC9B,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACzB,IAAI,CAAC,KAAK,GAAG,SAAS,CAAC;QACxB,CAAC;IACF,CAAC;CACD"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
export { Loop, PASS_TIMED_OUT } from './loop';
|
|
2
2
|
export type { ConcurrencyMode, LoopHooks, LoopOptions } from './loop';
|
|
3
|
-
export {
|
|
3
|
+
export { pollLookaheadSeconds } from './lookahead';
|
|
4
4
|
export { DEFAULT_LIFECYCLE_OPTIONS } from './options';
|
|
5
5
|
export type { LifecycleOptions } from './options';
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.DEFAULT_LIFECYCLE_OPTIONS = exports.
|
|
3
|
+
exports.DEFAULT_LIFECYCLE_OPTIONS = exports.pollLookaheadSeconds = exports.PASS_TIMED_OUT = exports.Loop = void 0;
|
|
4
4
|
var loop_1 = require("./loop");
|
|
5
5
|
Object.defineProperty(exports, "Loop", { enumerable: true, get: function () { return loop_1.Loop; } });
|
|
6
6
|
Object.defineProperty(exports, "PASS_TIMED_OUT", { enumerable: true, get: function () { return loop_1.PASS_TIMED_OUT; } });
|
|
7
7
|
var lookahead_1 = require("./lookahead");
|
|
8
|
-
Object.defineProperty(exports, "
|
|
8
|
+
Object.defineProperty(exports, "pollLookaheadSeconds", { enumerable: true, get: function () { return lookahead_1.pollLookaheadSeconds; } });
|
|
9
9
|
var options_1 = require("./options");
|
|
10
10
|
Object.defineProperty(exports, "DEFAULT_LIFECYCLE_OPTIONS", { enumerable: true, get: function () { return options_1.DEFAULT_LIFECYCLE_OPTIONS; } });
|
|
11
11
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/core/lifecycle/index.ts"],"names":[],"mappings":";;;AAAA,+BAA8C;AAArC,4FAAA,IAAI,OAAA;AAAE,sGAAA,cAAc,OAAA;AAE7B,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/core/lifecycle/index.ts"],"names":[],"mappings":";;;AAAA,+BAA8C;AAArC,4FAAA,IAAI,OAAA;AAAE,sGAAA,cAAc,OAAA;AAE7B,yCAAmD;AAA1C,iHAAA,oBAAoB,OAAA;AAC7B,qCAAsD;AAA7C,oHAAA,yBAAyB,OAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export declare function
|
|
1
|
+
export declare function pollLookaheadSeconds(intervalSeconds: number, jitterRatio: number): number;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
4
|
-
function
|
|
3
|
+
exports.pollLookaheadSeconds = pollLookaheadSeconds;
|
|
4
|
+
function pollLookaheadSeconds(intervalSeconds, jitterRatio) {
|
|
5
5
|
return intervalSeconds * (1 + 2 * jitterRatio);
|
|
6
6
|
}
|
|
7
7
|
//# sourceMappingURL=lookahead.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lookahead.js","sourceRoot":"","sources":["../../../src/core/lifecycle/lookahead.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"lookahead.js","sourceRoot":"","sources":["../../../src/core/lifecycle/lookahead.ts"],"names":[],"mappings":";;;AAWA,8BAAqC,eAAuB,EAAE,WAAmB;IAChF,OAAO,eAAe,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,WAAW,CAAC,CAAC;AAChD,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"loop.js","sourceRoot":"","sources":["../../../src/core/lifecycle/loop.ts"],"names":[],"mappings":";;;AAAA,mCAA8C;AAC9C,yCAAsC;AAGtC,MAAM,SAAS,GAAG,MAAM,CAAC,gBAAgB,CAAC,CAAC;AAO9B,QAAA,cAAc,GAAG,MAAM,CAAC,4BAA4B,CAAC,CAAC;AA+CnE,SAAS,YAAY,CAAC,EAAU;IAC/B,IAAI,KAAgD,CAAC;IACrD,MAAM,QAAQ,GAAG,IAAI,OAAO,CAAmB,CAAC,OAAO,EAAE,EAAE;QAC1D,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,oBAAY,CAAC,CAAC,CAAC;QACzE,KAAK,CAAC,KAAK,EAAE,CAAC;IACf,CAAC,CAAC,CAAC;IACH,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,YAAY,CAAC,KAAK,CAAC,EAAE,CAAC;AACxD,CAAC;AAqBD
|
|
1
|
+
{"version":3,"file":"loop.js","sourceRoot":"","sources":["../../../src/core/lifecycle/loop.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"timeline.js","sourceRoot":"","sources":["../../../src/core/lifecycle/timeline.ts"],"names":[],"mappings":";;;AAWA
|
|
1
|
+
{"version":3,"file":"timeline.js","sourceRoot":"","sources":["../../../src/core/lifecycle/timeline.ts"],"names":[],"mappings":";;;AAWA;IAIC,YACkB,UAAkB,EAClB,WAAmB,EACnB,MAAoB,EACrC,OAAe;0BAHE,UAAU;2BACV,WAAW;sBACX,MAAM;QAGvB,IAAI,CAAC,MAAM,GAAG,OAAO,GAAG,UAAU,GAAG,MAAM,EAAE,CAAC;IAC/C,CAAC;IAGD,IAAI,WAAW;QACd,OAAO,IAAI,CAAC,MAAM,CAAC;IACpB,CAAC;IAMD,UAAU,CAAC,GAAW;QACrB,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC;QACjF,IAAI,CAAC,MAAM,IAAI,CAAC,WAAW,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC;QACnD,MAAM,QAAQ,GAAG,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,WAAW,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC;QAC9E,OAAO,IAAI,CAAC,MAAM,GAAG,QAAQ,CAAC;IAC/B,CAAC;CACD"}
|
|
@@ -7,7 +7,8 @@ const plan_1 = require("./plan");
|
|
|
7
7
|
async function materialize(runInTransaction, options = options_1.DEFAULT_MATERIALIZER_OPTIONS, hooks = {}, signal) {
|
|
8
8
|
signal?.throwIfAborted();
|
|
9
9
|
return await runInTransaction(async (tx) => {
|
|
10
|
-
const
|
|
10
|
+
const lookaheadMs = options.lookaheadSeconds * constants_1.Time.seconds.toMilliseconds;
|
|
11
|
+
const claimed = await tx.claimDueJobs(options.batchSize, lookaheadMs);
|
|
11
12
|
signal?.throwIfAborted();
|
|
12
13
|
if (claimed === undefined) {
|
|
13
14
|
return { claimedJobs: 0, occurrences: 0, created: [], deferredJobs: 0 };
|