@plurnk/plurnk-schedule 3.0.0 → 3.0.1
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/SPEC.md +14 -9
- package/dist/Functionality.d.ts +1 -0
- package/dist/Functionality.d.ts.map +1 -1
- package/dist/Functionality.js +14 -8
- package/dist/Functionality.js.map +1 -1
- package/dist/Scheduler.d.ts +8 -5
- package/dist/Scheduler.d.ts.map +1 -1
- package/dist/Scheduler.js +8 -28
- package/dist/Scheduler.js.map +1 -1
- package/package.json +3 -3
package/SPEC.md
CHANGED
|
@@ -7,7 +7,7 @@ owned by `@plurnk/plurnk-schedule` ({§functionality-adapter}). A definition is
|
|
|
7
7
|
`{ rule, target, prompt }`: RFC 5545 rule text ({§schedule-rule}), a
|
|
8
8
|
`worker://<name>` target in the workspace ({§worker-name}, preserved exactly), the message delivered at each
|
|
9
9
|
occurrence ({§schedule-delivery}). Aliases take the shared grammar. The verbs are the
|
|
10
|
-
coordinator's: `list`, `discover` ({§schedule-clock}), `add`, `enable`,
|
|
10
|
+
coordinator's: `list`, `discover` ({§schedule-clock}), `add`, `replace`, `enable`,
|
|
11
11
|
`disable`, `remove`. The adapter publishes no documents of its own; the
|
|
12
12
|
runtime document's authored body is `docs/schedule.md`
|
|
13
13
|
({§functionality-model-projection}).
|
|
@@ -33,7 +33,7 @@ defect, not a refusal.
|
|
|
33
33
|
|
|
34
34
|
## §schedule-bound Bound
|
|
35
35
|
|
|
36
|
-
A workspace rule ends: its RRULE carries `COUNT` or `UNTIL`, else
|
|
36
|
+
A workspace rule ends: its RRULE carries `COUNT` or `UNTIL`, else admission
|
|
37
37
|
refuses with `rule-unbounded`. A service rule ({§schedule-environment}) may be
|
|
38
38
|
unbounded; the operator owns it. An exhausted rule stays listed `active` with
|
|
39
39
|
`exhausted: true` and `next: null`; it arms nothing. Exhaustion states that no
|
|
@@ -82,17 +82,20 @@ A future occurrence is not live work for WAIT ({§wait-obligation-matrix}); it
|
|
|
82
82
|
neither holds a loop open nor concludes it. The next occurrence
|
|
83
83
|
then arms from the present: a late fire delivers once and skips what it
|
|
84
84
|
missed, never a backlog. A missing worker or a refused delivery disarms the
|
|
85
|
-
rule and lists it `unavailable` with the Problem; `enable` retries.
|
|
85
|
+
rule and lists it `unavailable` with the Problem; `enable` retries. A failure
|
|
86
|
+
belongs to the complete definition, including its target and prompt, not just
|
|
87
|
+
the recurrence. Retry or replacement clears it only on successful publication. After
|
|
86
88
|
every delivery attempt the family's outcomes are refreshed where the workspace
|
|
87
89
|
is resident.
|
|
88
90
|
|
|
89
|
-
§schedule-first-arming **A rule's first arming is judged from
|
|
90
|
-
rule at the instant it admits it; preparation and arming come later, and a single
|
|
91
|
+
§schedule-first-arming **A new or changed rule's first arming is judged from admission.**
|
|
92
|
+
`add`/`replace` reads the rule at the instant it admits it; preparation and arming come later, and a single
|
|
91
93
|
occurrence can fall between. The first arming of an admitted rule takes the admission
|
|
92
94
|
instant as its cursor, so that occurrence still arms, fires at once, and delivers once, and
|
|
93
|
-
the
|
|
94
|
-
|
|
95
|
-
the present
|
|
95
|
+
the receipt names it as `next`. Admission travels only with that candidate
|
|
96
|
+
({§functionality-admission-preparation}); a rejected or identical replacement cannot
|
|
97
|
+
reset the live timer or replay a delivered occurrence. The present is the cursor
|
|
98
|
+
after first arming and when a daemon starts with stored rules, never a backlog.
|
|
96
99
|
|
|
97
100
|
## §schedule-residency Residency
|
|
98
101
|
|
|
@@ -119,9 +122,11 @@ or persisting a rule ({§operator-config-offline-validation}).
|
|
|
119
122
|
|
|
120
123
|
| code | status | contract |
|
|
121
124
|
|---|---:|---|
|
|
122
|
-
| `alias-required` | 400 | schedule
|
|
125
|
+
| `alias-required` | 400 | schedule definition needs an alias. |
|
|
123
126
|
| `definition-invalid` | 400 | The schedule definition is invalid. |
|
|
124
127
|
| `rule-invalid` | 400 | The rule of '*alias*' is unreadable: *cause*. |
|
|
125
128
|
| `delivery-failed` | 502 | Delivering the scheduled message '*alias*' failed. |
|
|
126
129
|
| `target-missing` | 404 | No worker named '*name*' exists in this workspace. |
|
|
127
130
|
| `rule-unbounded` | 400 | A workspace rule ends: give the RRULE a COUNT or an UNTIL. |
|
|
131
|
+
| `authority-invalid` | 400 | Schedule resources use an empty authority. |
|
|
132
|
+
| `not-found` | 404 | The schedule resource does not exist. |
|
package/dist/Functionality.d.ts
CHANGED
|
@@ -36,6 +36,7 @@ export default class ScheduleFunctionality {
|
|
|
36
36
|
admit(input: unknown, identity: FunctionalityIdentity, _caller?: unknown, options?: FunctionalityOptions): Promise<{
|
|
37
37
|
alias: string;
|
|
38
38
|
definition: object;
|
|
39
|
+
preparation: number;
|
|
39
40
|
}>;
|
|
40
41
|
prepare(preparation: FunctionalityPreparation): Promise<FunctionalityPrepared>;
|
|
41
42
|
teardown(_snapshot: unknown, _identity: WorkspaceCapabilityIdentity): Promise<void>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Functionality.d.ts","sourceRoot":"","sources":["../src/Functionality.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"Functionality.d.ts","sourceRoot":"","sources":["../src/Functionality.ts"],"names":[],"mappings":"AAMA,OAAO,EAEH,KAAK,sBAAsB,EAC3B,KAAK,0BAA0B,EAC/B,KAAK,yBAAyB,EAC9B,KAAK,qBAAqB,EAC1B,KAAK,oBAAoB,EAEzB,KAAK,wBAAwB,EAC7B,KAAK,qBAAqB,EAC1B,KAAK,8BAA8B,EACnC,KAAK,UAAU,EACf,KAAK,cAAc,EACnB,KAAK,2BAA2B,EACnC,MAAM,0BAA0B,CAAC;AAIlC,OAAO,SAAS,EAAE,EAAsB,KAAK,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAEtF,OAAO,iBAAiB,MAAM,wBAAwB,CAAC;AACvD,OAAO,KAAK,EAAE,sBAAsB,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAEtF,eAAO,MAAM,eAAe,aAAa,CAAC;AAC1C,eAAO,MAAM,cAAc,4BAA4B,CAAC;AAGxD,MAAM,MAAM,eAAe,GAAG,IAAI,CAAC,eAAe,EAAE,0BAA0B,GAAG,uBAAuB,CAAC,CAAC;AAQ1G,MAAM,WAAW,4BAA6B,SAAQ,IAAI,CAAC,gBAAgB,EAAE,SAAS,CAAC;CAAG;AAE1F,qBAAa,0BAA2B,SAAQ,KAAK;IACjD,QAAQ,CAAC,OAAO,EAAE,cAAc,CAAC;IAEjC,YAAY,OAAO,EAAE,cAAc,EAAE,KAAK,CAAC,EAAE,OAAO,EAInD;CACJ;AAyBD,MAAM,CAAC,OAAO,OAAO,qBAAqB;;IACtC,QAAQ,CAAC,MAAM,EAAE,iBAAiB,CAAC;IACnC,QAAQ,CAAC,MAAM,cAAmB;IAClC,QAAQ,CAAC,cAAc,6BAAkB;IACzC,QAAQ,CAAC,OAAO,+BAA+B;IAC/C,QAAQ,CAAC,gBAAgB,EAAE,UAAU,CAAqB;IAC1D,QAAQ,CAAC,OAAO;QACZ,KAAK;QACL,UAAU;YACN,IAAI;YACJ,MAAM;YACN,MAAM;;MAEZ;IACF,QAAQ,CAAC,OAAO,SAAiD;IACjE,QAAQ,CAAC,SAAS,EAAE,sBAAsB,CAGxC;IAWF,YAAY,GAAG,GAAE,MAAM,CAAC,UAAwB,EAAE,OAAO,GAAE,4BAAiC,EAU3F;IAED,MAAM,CAAC,MAAM,EAAE,yBAAyB,EAAE,WAAW,EAAE,eAAe,GAAG,IAAI,CAG5E;IAED,IAAI,SAAS,IAAI,SAAS,CAEzB;IAEK,SAAS,IAAI,OAAO,CAAC,SAAS,8BAA8B,EAAE,CAAC,CAGpE;IAGK,QAAQ,CAAC,KAAK,EAAE,0BAA0B,EAAE,QAAQ,EAAE,qBAAqB,EAAE,OAAO,CAAC,EAAE,oBAAoB,GAAG,OAAO,CAAC,SAAS,sBAAsB,EAAE,CAAC,CAiB7J;IAEK,KAAK,CAAC,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,qBAAqB,EAAE,OAAO,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,oBAAoB,GAAG,OAAO,CAAC;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAA;KAAE,CAAC,CAgBnL;IAEK,OAAO,CAAC,WAAW,EAAE,wBAAwB,GAAG,OAAO,CAAC,qBAAqB,CAAC,CA0DnF;IAIK,QAAQ,CAAC,SAAS,EAAE,OAAO,EAAE,SAAS,EAAE,2BAA2B,GAAG,OAAO,CAAC,IAAI,CAAC,CAAG;CAoC/F"}
|
package/dist/Functionality.js
CHANGED
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
// and tells the time ({§schedule-clock}), admission that canonicalizes and bounds a rule, and the
|
|
4
4
|
// outcomes the timers stand behind ({§schedule-delivery}, {§schedule-residency}).
|
|
5
5
|
import { fileURLToPath } from "node:url";
|
|
6
|
+
import { isDeepStrictEqual } from "node:util";
|
|
6
7
|
import { Problems, } from "@plurnk/plurnk-contracts";
|
|
7
8
|
import { previewOccurrences, validateConfiguration } from "./config.js";
|
|
8
9
|
import { DEFINITION_SCHEMA, DefinitionError, readDefinition } from "./definition.js";
|
|
@@ -99,7 +100,7 @@ export default class ScheduleFunctionality {
|
|
|
99
100
|
async admit(input, identity, _caller, options) {
|
|
100
101
|
const params = isRecord(input) ? input : {};
|
|
101
102
|
if (typeof params.alias !== "string")
|
|
102
|
-
throw failure("alias-required", 400, "schedule
|
|
103
|
+
throw failure("alias-required", 400, "schedule definition needs an alias.", { retryable: false });
|
|
103
104
|
let definition;
|
|
104
105
|
try {
|
|
105
106
|
definition = readDefinition(params.definition);
|
|
@@ -115,19 +116,24 @@ export default class ScheduleFunctionality {
|
|
|
115
116
|
if (!parsed.bounded)
|
|
116
117
|
throw failure("rule-unbounded", 400, "A workspace rule ends: give the RRULE a COUNT or an UNTIL.", { retryable: false });
|
|
117
118
|
// {§schedule-first-arming} — the rule was read now; its first arming is judged from now.
|
|
118
|
-
|
|
119
|
-
return { alias: params.alias, definition: { ...definition, rule: parsed.text } };
|
|
119
|
+
return { alias: params.alias, definition: { ...definition, rule: parsed.text }, preparation: now };
|
|
120
120
|
}
|
|
121
121
|
async prepare(preparation) {
|
|
122
122
|
const { workspaceId } = preparation;
|
|
123
123
|
const previous = preparation.previous;
|
|
124
|
+
let admission;
|
|
125
|
+
if (preparation.admission !== undefined) {
|
|
126
|
+
const { alias, definition, preparation: at } = preparation.admission;
|
|
127
|
+
if (typeof at !== "number" || !Number.isFinite(at))
|
|
128
|
+
throw new Error("Schedule admission has no valid preparation timestamp.");
|
|
129
|
+
if (!isDeepStrictEqual(previous?.rules.get(alias)?.definition, definition))
|
|
130
|
+
admission = { alias, at };
|
|
131
|
+
}
|
|
124
132
|
const rules = new Map();
|
|
125
133
|
const unavailable = new Map();
|
|
126
134
|
const outcomes = new Map();
|
|
127
135
|
const now = this.#scheduler.now();
|
|
128
136
|
for (const [alias, { definition: raw }] of preparation.enabled) {
|
|
129
|
-
if (preparation.force === alias)
|
|
130
|
-
this.#scheduler.forgive(workspaceId, alias);
|
|
131
137
|
let definition;
|
|
132
138
|
let parsed;
|
|
133
139
|
try {
|
|
@@ -148,12 +154,12 @@ export default class ScheduleFunctionality {
|
|
|
148
154
|
}
|
|
149
155
|
rules.set(alias, { alias, definition, parsed });
|
|
150
156
|
const failed = this.#scheduler.failure(workspaceId, alias);
|
|
151
|
-
if (failed !== undefined && failed.
|
|
157
|
+
if (preparation.force !== alias && failed !== undefined && isDeepStrictEqual(failed.definition, definition)) {
|
|
152
158
|
unavailable.set(alias, parsed.text);
|
|
153
159
|
outcomes.set(alias, { state: "unavailable", problem: structuredClone(failed.problem) });
|
|
154
160
|
continue;
|
|
155
161
|
}
|
|
156
|
-
const next = nextOccurrence(parsed,
|
|
162
|
+
const next = nextOccurrence(parsed, admission?.alias === alias ? admission.at : now);
|
|
157
163
|
outcomes.set(alias, {
|
|
158
164
|
state: "active",
|
|
159
165
|
detail: {
|
|
@@ -172,7 +178,7 @@ export default class ScheduleFunctionality {
|
|
|
172
178
|
documents: [],
|
|
173
179
|
outcomes,
|
|
174
180
|
snapshot,
|
|
175
|
-
commit: async () => { await this.#scheduler.sync(workspaceId, rules); },
|
|
181
|
+
commit: async () => { await this.#scheduler.sync(workspaceId, rules, { admission, force: preparation.force }); },
|
|
176
182
|
abort: async () => { },
|
|
177
183
|
};
|
|
178
184
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Functionality.js","sourceRoot":"","sources":["../src/Functionality.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Functionality.js","sourceRoot":"","sources":["../src/Functionality.ts"],"names":[],"mappings":"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"}
|
package/dist/Scheduler.d.ts
CHANGED
|
@@ -29,7 +29,7 @@ export interface SchedulerOptions {
|
|
|
29
29
|
readonly settled?: (workspaceId: number, alias: string) => void;
|
|
30
30
|
}
|
|
31
31
|
export interface ScheduleFailure {
|
|
32
|
-
readonly
|
|
32
|
+
readonly definition: ScheduleDefinition;
|
|
33
33
|
readonly problem: ProblemDetails;
|
|
34
34
|
}
|
|
35
35
|
export declare class ScheduleDeliveryError extends Error {
|
|
@@ -42,11 +42,14 @@ export default class Scheduler {
|
|
|
42
42
|
now(): number;
|
|
43
43
|
start(port: DeliveryPort): void;
|
|
44
44
|
close(): Promise<void>;
|
|
45
|
-
sync(workspaceId: number, rules: ReadonlyMap<string, ScheduledRule
|
|
45
|
+
sync(workspaceId: number, rules: ReadonlyMap<string, ScheduledRule>, options?: {
|
|
46
|
+
readonly admission?: {
|
|
47
|
+
readonly alias: string;
|
|
48
|
+
readonly at: number;
|
|
49
|
+
};
|
|
50
|
+
readonly force?: string;
|
|
51
|
+
}): Promise<void>;
|
|
46
52
|
failure(workspaceId: number, alias: string): ScheduleFailure | undefined;
|
|
47
|
-
admitted(workspaceId: number, alias: string, atMs: number): void;
|
|
48
|
-
cursor(workspaceId: number, alias: string, nowMs: number): number;
|
|
49
|
-
forgive(workspaceId: number, alias: string): void;
|
|
50
53
|
armed(workspaceId: number): readonly string[];
|
|
51
54
|
}
|
|
52
55
|
//# sourceMappingURL=Scheduler.d.ts.map
|
package/dist/Scheduler.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Scheduler.d.ts","sourceRoot":"","sources":["../src/Scheduler.ts"],"names":[],"mappings":"AAKA,OAAO,EAA0B,KAAK,cAAc,EAAE,MAAM,0BAA0B,CAAC;
|
|
1
|
+
{"version":3,"file":"Scheduler.d.ts","sourceRoot":"","sources":["../src/Scheduler.ts"],"names":[],"mappings":"AAKA,OAAO,EAA0B,KAAK,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAIvF,OAAO,EAAoB,KAAK,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAC5E,OAAO,EAAkB,KAAK,UAAU,EAAE,MAAM,YAAY,CAAC;AAE7D,MAAM,WAAW,aAAa;IAC1B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,UAAU,EAAE,kBAAkB,CAAC;IACxC,QAAQ,CAAC,MAAM,EAAE,UAAU,CAAC;CAC/B;AAED,MAAM,WAAW,YAAY;IACzB,WAAW,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS;QAAE,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC,CAAC;IACrG,OAAO,CAAC,IAAI,EAAE;QACV,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;QAC7B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;QAC1B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;QACxB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;KAC3B,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;CACxB;AAED,MAAM,WAAW,eAAe;IAC5B,GAAG,CAAC,QAAQ,EAAE,MAAM,IAAI,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC;IACpD,KAAK,CAAC,MAAM,EAAE,OAAO,GAAG,IAAI,CAAC;CAChC;AAED,MAAM,WAAW,gBAAgB;IAC7B,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,MAAM,CAAC;IAC9B,QAAQ,CAAC,MAAM,CAAC,EAAE,eAAe,CAAC;IAClC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;IAE5D,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC,WAAW,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;CACnE;AAED,MAAM,WAAW,eAAe;IAC5B,QAAQ,CAAC,UAAU,EAAE,kBAAkB,CAAC;IACxC,QAAQ,CAAC,OAAO,EAAE,cAAc,CAAC;CACpC;AAWD,qBAAa,qBAAsB,SAAQ,KAAK;IAC5C,QAAQ,CAAC,OAAO,EAAE,cAAc,CAAC;IAEjC,YAAY,OAAO,EAAE,cAAc,EAAE,KAAK,CAAC,EAAE,OAAO,EAInD;CACJ;AAmBD,MAAM,CAAC,OAAO,OAAO,SAAS;;IAa1B,YAAY,OAAO,GAAE,gBAAqB,EAKzC;IAED,GAAG,IAAI,MAAM,CAEZ;IAED,KAAK,CAAC,IAAI,EAAE,YAAY,GAAG,IAAI,CAI9B;IAQK,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAQ3B;IAID,IAAI,CAAC,WAAW,EAAE,MAAM,EAAE,KAAK,EAAE,WAAW,CAAC,MAAM,EAAE,aAAa,CAAC,EAAE,OAAO,GAAE;QAC1E,QAAQ,CAAC,SAAS,CAAC,EAAE;YAAE,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;YAAC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAA;SAAE,CAAC;QACrE,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;KACtB,GAAG,OAAO,CAAC,IAAI,CAAC,CAoBrB;IAED,OAAO,CAAC,WAAW,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,eAAe,GAAG,SAAS,CAEvE;IAED,KAAK,CAAC,WAAW,EAAE,MAAM,GAAG,SAAS,MAAM,EAAE,CAE5C;CAmFJ"}
|
package/dist/Scheduler.js
CHANGED
|
@@ -5,6 +5,7 @@
|
|
|
5
5
|
// A delivery failure disarms the rule and holds its Problem for the outcome; `enable` retries.
|
|
6
6
|
import { MAX_TIMER_MS, Problems } from "@plurnk/plurnk-contracts";
|
|
7
7
|
import { createHash } from "node:crypto";
|
|
8
|
+
import { isDeepStrictEqual } from "node:util";
|
|
8
9
|
import { targetWorkerName } from "./definition.js";
|
|
9
10
|
import { nextOccurrence } from "./rules.js";
|
|
10
11
|
export class ScheduleDeliveryError extends Error {
|
|
@@ -31,9 +32,6 @@ export default class Scheduler {
|
|
|
31
32
|
#settled;
|
|
32
33
|
#armed = new Map();
|
|
33
34
|
#failures = new Map();
|
|
34
|
-
// {§schedule-first-arming} — the instant each admitted rule was read at its `add`, until its
|
|
35
|
-
// first arming consumes it. Memory of the running daemon only.
|
|
36
|
-
#admissions = new Map();
|
|
37
35
|
#pending = new Set();
|
|
38
36
|
#port = null;
|
|
39
37
|
#serial = Promise.resolve();
|
|
@@ -73,13 +71,13 @@ export default class Scheduler {
|
|
|
73
71
|
}
|
|
74
72
|
// {§schedule-residency} — a workspace's rule set as published: aliases absent from it disarm,
|
|
75
73
|
// unchanged occurrences retain identity. A held failure clears when its rule leaves the set or changes.
|
|
76
|
-
sync(workspaceId, rules) {
|
|
74
|
+
sync(workspaceId, rules, options = {}) {
|
|
77
75
|
return this.#exclusive(async () => {
|
|
78
76
|
for (const [entryKey, armed] of this.#armed) {
|
|
79
77
|
if (armed.workspaceId !== workspaceId)
|
|
80
78
|
continue;
|
|
81
79
|
const replacement = rules.get(armed.rule.alias);
|
|
82
|
-
if (replacement !== undefined &&
|
|
80
|
+
if (replacement !== undefined && isDeepStrictEqual(replacement.definition, armed.rule.definition))
|
|
83
81
|
continue;
|
|
84
82
|
if (armed.handle !== null)
|
|
85
83
|
this.#timers.clear(armed.handle);
|
|
@@ -89,41 +87,25 @@ export default class Scheduler {
|
|
|
89
87
|
if (!entryKey.startsWith(`${workspaceId}:`))
|
|
90
88
|
continue;
|
|
91
89
|
const rule = rules.get(entryKey.slice(entryKey.indexOf(":") + 1));
|
|
92
|
-
if (rule === undefined || rule.
|
|
90
|
+
if (rule === undefined || rule.alias === options.force || !isDeepStrictEqual(rule.definition, failed.definition))
|
|
93
91
|
this.#failures.delete(entryKey);
|
|
94
92
|
}
|
|
95
|
-
for (const entryKey of this.#admissions.keys()) {
|
|
96
|
-
if (entryKey.startsWith(`${workspaceId}:`) && !rules.has(entryKey.slice(entryKey.indexOf(":") + 1)))
|
|
97
|
-
this.#admissions.delete(entryKey);
|
|
98
|
-
}
|
|
99
93
|
for (const rule of rules.values()) {
|
|
100
94
|
if (this.#failures.has(key(workspaceId, rule.alias)))
|
|
101
95
|
continue;
|
|
102
96
|
if (this.#armed.has(key(workspaceId, rule.alias)))
|
|
103
97
|
continue;
|
|
104
|
-
this.#arm(workspaceId, rule);
|
|
98
|
+
this.#arm(workspaceId, rule, options.admission?.alias === rule.alias ? options.admission.at : undefined);
|
|
105
99
|
}
|
|
106
100
|
});
|
|
107
101
|
}
|
|
108
102
|
failure(workspaceId, alias) {
|
|
109
103
|
return this.#failures.get(key(workspaceId, alias));
|
|
110
104
|
}
|
|
111
|
-
// {§schedule-first-arming} — `add` read the rule at this instant; preparation and arming come later.
|
|
112
|
-
admitted(workspaceId, alias, atMs) {
|
|
113
|
-
this.#admissions.set(key(workspaceId, alias), atMs);
|
|
114
|
-
}
|
|
115
|
-
// The instant a rule's next occurrence is judged from: its admission until the first arming
|
|
116
|
-
// consumes it, the present afterwards.
|
|
117
|
-
cursor(workspaceId, alias, nowMs) {
|
|
118
|
-
return this.#admissions.get(key(workspaceId, alias)) ?? nowMs;
|
|
119
|
-
}
|
|
120
|
-
forgive(workspaceId, alias) {
|
|
121
|
-
this.#failures.delete(key(workspaceId, alias));
|
|
122
|
-
}
|
|
123
105
|
armed(workspaceId) {
|
|
124
106
|
return [...this.#armed.values()].filter((armed) => armed.workspaceId === workspaceId).map((armed) => armed.rule.alias).toSorted();
|
|
125
107
|
}
|
|
126
|
-
#arm(workspaceId, rule) {
|
|
108
|
+
#arm(workspaceId, rule, after = this.#clock()) {
|
|
127
109
|
if (this.#closing)
|
|
128
110
|
return;
|
|
129
111
|
const entryKey = key(workspaceId, rule.alias);
|
|
@@ -133,9 +115,7 @@ export default class Scheduler {
|
|
|
133
115
|
this.#timers.clear(existing.handle);
|
|
134
116
|
this.#armed.delete(entryKey);
|
|
135
117
|
}
|
|
136
|
-
const
|
|
137
|
-
const due = nextOccurrence(rule.parsed, this.cursor(workspaceId, rule.alias, now));
|
|
138
|
-
this.#admissions.delete(entryKey);
|
|
118
|
+
const due = nextOccurrence(rule.parsed, after);
|
|
139
119
|
if (due === null)
|
|
140
120
|
return;
|
|
141
121
|
const dueMs = due.epochMilliseconds;
|
|
@@ -181,7 +161,7 @@ export default class Scheduler {
|
|
|
181
161
|
return;
|
|
182
162
|
this.#armed.delete(entryKey);
|
|
183
163
|
if (result.status >= 400)
|
|
184
|
-
this.#failures.set(entryKey, {
|
|
164
|
+
this.#failures.set(entryKey, { definition: rule.definition, problem: result.problem });
|
|
185
165
|
else
|
|
186
166
|
this.#arm(workspaceId, rule);
|
|
187
167
|
});
|
package/dist/Scheduler.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Scheduler.js","sourceRoot":"","sources":["../src/Scheduler.ts"],"names":[],"mappings":"AAAA,iGAAiG;AACjG,gGAAgG;AAChG,iGAAiG;AACjG,iGAAiG;AACjG,+FAA+F;AAC/F,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAuB,MAAM,0BAA0B,CAAC;AACvF,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"Scheduler.js","sourceRoot":"","sources":["../src/Scheduler.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@plurnk/plurnk-schedule",
|
|
3
|
-
"version": "3.0.
|
|
3
|
+
"version": "3.0.1",
|
|
4
4
|
"description": "Scheduled messages for Plurnk workers, on RFC 5545 recurrence rules",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"license": "MIT",
|
|
@@ -38,7 +38,7 @@
|
|
|
38
38
|
"test": "npm run test:lint && npm run test:unit && npm run test:intg",
|
|
39
39
|
"test:lint": "tsc --noEmit",
|
|
40
40
|
"test:unit": "node --conditions=plurnk-dev --env-file=.env.defaults --test src/*.test.ts",
|
|
41
|
-
"test:intg": "export PLURNK_TEST_RUN=$(date -u +%Y%m%dT%H%M%SZ); node --conditions=plurnk-dev --env-file=.env.defaults --test test/intg/*.test.ts && node ../scripts/reclaim-green-run.mjs schedule",
|
|
41
|
+
"test:intg": "export PLURNK_TEST_RUN=$(date -u +%Y%m%dT%H%M%SZ) PLURNK_TEST_LANE=schedule; node --conditions=plurnk-dev --env-file=.env.defaults --test test/intg/*.test.ts && node ../scripts/reclaim-green-run.mjs schedule",
|
|
42
42
|
"build:clean": "rm -rf dist",
|
|
43
43
|
"build:dist": "tsc -p tsconfig.build.json",
|
|
44
44
|
"build": "npm run build:clean && npm run build:dist",
|
|
@@ -71,5 +71,5 @@
|
|
|
71
71
|
"publishConfig": {
|
|
72
72
|
"access": "public"
|
|
73
73
|
},
|
|
74
|
-
"gitHead": "
|
|
74
|
+
"gitHead": "f96502a26d62a6f87b22950a9e2006348ac8a6bc"
|
|
75
75
|
}
|