@mclawnet/scheduler 0.1.2 → 0.1.4
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/__tests__/scheduler-service-tick-23.test.js +32 -7
- package/dist/__tests__/scheduler-service-tick-23.test.js.map +1 -1
- package/dist/__tests__/tick-helpers.d.ts +1 -1
- package/dist/__tests__/tick-helpers.d.ts.map +1 -1
- package/dist/__tests__/tick-helpers.js +2 -2
- package/dist/__tests__/tick-helpers.js.map +1 -1
- package/package.json +3 -3
|
@@ -5,11 +5,19 @@ import { join } from "node:path";
|
|
|
5
5
|
import FakeTimers from "@sinonjs/fake-timers";
|
|
6
6
|
import { SchedulerService } from "../scheduler-service.js";
|
|
7
7
|
import { JsonScheduleRepository } from "../json-schedule-repository.js";
|
|
8
|
-
import { makeDeferredExecutor, makeImmediateExecutor, sample,
|
|
8
|
+
import { makeDeferredExecutor, makeImmediateExecutor, sample, drainUntilFactory, } from "./tick-helpers.js";
|
|
9
|
+
// Deflaked from a fixed-iter `drain()` to predicate-based `drainUntil()`.
|
|
10
|
+
// The previous drainFactory(clock, 200) was an empirical wait (10s fake time)
|
|
11
|
+
// that depended on Linux CI being fast enough to flush proper-lockfile retry
|
|
12
|
+
// chains within 200 setTimeout iterations. CI runners hit the wall ~once per
|
|
13
|
+
// 5 PRs (#120 M6.0 T9 docs, #131 M6.1 hotfix), needing a rerun each time.
|
|
14
|
+
// drainUntil short-circuits the moment the assertion would pass, so slow CI
|
|
15
|
+
// just waits longer (up to one cron interval = 60s fake time) instead of
|
|
16
|
+
// silently coming up short.
|
|
9
17
|
let home;
|
|
10
18
|
let repo;
|
|
11
19
|
let clock;
|
|
12
|
-
let
|
|
20
|
+
let drainUntil;
|
|
13
21
|
beforeEach(() => {
|
|
14
22
|
home = mkdtempSync(join(tmpdir(), "sched-tick-"));
|
|
15
23
|
repo = new JsonScheduleRepository({ home });
|
|
@@ -18,7 +26,7 @@ beforeEach(() => {
|
|
|
18
26
|
shouldAdvanceTime: true,
|
|
19
27
|
advanceTimeDelta: 20,
|
|
20
28
|
});
|
|
21
|
-
|
|
29
|
+
drainUntil = drainUntilFactory(clock);
|
|
22
30
|
});
|
|
23
31
|
afterEach(() => {
|
|
24
32
|
clock.uninstall();
|
|
@@ -34,7 +42,13 @@ describe("SchedulerService.tick — single-flight (Task 2.3)", () => {
|
|
|
34
42
|
await svc.start();
|
|
35
43
|
expect(svc.getRegistered()).toContain(s.id);
|
|
36
44
|
await clock.tickAsync(60_000);
|
|
37
|
-
|
|
45
|
+
// Wait until the run record actually lands AND reaches the "completed"
|
|
46
|
+
// terminal state. Without the status check, slow CI can observe a single
|
|
47
|
+
// "running" row mid-flight (assertion then fires on the wrong state).
|
|
48
|
+
await drainUntil(async () => {
|
|
49
|
+
const r = await repo.listRuns(s.id);
|
|
50
|
+
return r.length >= 1 && r[0].status === "completed";
|
|
51
|
+
});
|
|
38
52
|
expect(exec.invocations).toHaveLength(1);
|
|
39
53
|
const runs = await repo.listRuns(s.id);
|
|
40
54
|
expect(runs).toHaveLength(1);
|
|
@@ -52,17 +66,28 @@ describe("SchedulerService.tick — single-flight (Task 2.3)", () => {
|
|
|
52
66
|
});
|
|
53
67
|
await svc.start();
|
|
54
68
|
await clock.tickAsync(60_000);
|
|
55
|
-
|
|
69
|
+
// First tick: wait for executor to be invoked.
|
|
70
|
+
await drainUntil(() => exec.invocations.length >= 1);
|
|
56
71
|
expect(exec.invocations).toHaveLength(1);
|
|
57
72
|
await clock.tickAsync(60_000);
|
|
58
|
-
|
|
73
|
+
// Second tick: wait for the cancelled "previous_run_in_progress" record
|
|
74
|
+
// to land. Crucially, the executor must NOT be invoked again (single-flight
|
|
75
|
+
// gate); we wait on the run record, not on a second invocation.
|
|
76
|
+
await drainUntil(async () => {
|
|
77
|
+
const r = await repo.listRuns(s.id);
|
|
78
|
+
return r.length >= 2 && r.some(x => x.status === "cancelled");
|
|
79
|
+
});
|
|
59
80
|
expect(exec.invocations).toHaveLength(1); // single-flight: no new call
|
|
60
81
|
const runs = await repo.listRuns(s.id);
|
|
61
82
|
expect(runs).toHaveLength(2);
|
|
62
83
|
const cancelled = runs.find(r => r.status === "cancelled");
|
|
63
84
|
expect(cancelled?.error).toBe("previous_run_in_progress");
|
|
64
85
|
exec.resolveNext({ exitCode: 0 });
|
|
65
|
-
|
|
86
|
+
// Wait for the first run to transition to completed after deferred resolve.
|
|
87
|
+
await drainUntil(async () => {
|
|
88
|
+
const r = await repo.listRuns(s.id);
|
|
89
|
+
return r.some(x => x.status === "completed");
|
|
90
|
+
});
|
|
66
91
|
const after = await repo.listRuns(s.id);
|
|
67
92
|
const completed = after.find(r => r.status === "completed");
|
|
68
93
|
expect(completed?.exitCode).toBe(0);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scheduler-service-tick-23.test.js","sourceRoot":"","sources":["../../src/__tests__/scheduler-service-tick-23.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AACrE,OAAO,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AACtC,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AACjC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,UAAU,MAAM,sBAAsB,CAAC;AAC9C,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EAAE,sBAAsB,EAAE,MAAM,gCAAgC,CAAC;AACxE,OAAO,EACL,oBAAoB,EAAE,qBAAqB,EAAE,MAAM,EAAE,
|
|
1
|
+
{"version":3,"file":"scheduler-service-tick-23.test.js","sourceRoot":"","sources":["../../src/__tests__/scheduler-service-tick-23.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -13,5 +13,5 @@ export interface ImmediateExecutor extends ScheduleExecutor {
|
|
|
13
13
|
}
|
|
14
14
|
export declare function makeImmediateExecutor(result: ExecutorResult, mode?: "swarm" | "oneshot"): ImmediateExecutor;
|
|
15
15
|
export declare function drainFactory(clock: FakeTimers.InstalledClock, iters?: number): () => Promise<void>;
|
|
16
|
-
export declare function drainUntilFactory(clock: FakeTimers.InstalledClock, maxIters?: number): (cond: () => boolean) => Promise<void>;
|
|
16
|
+
export declare function drainUntilFactory(clock: FakeTimers.InstalledClock, maxIters?: number): (cond: () => boolean | Promise<boolean>) => Promise<void>;
|
|
17
17
|
//# sourceMappingURL=tick-helpers.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tick-helpers.d.ts","sourceRoot":"","sources":["../../src/__tests__/tick-helpers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,UAAU,MAAM,sBAAsB,CAAC;AACnD,OAAO,KAAK,EACV,gBAAgB,EAAE,eAAe,EAAE,cAAc,EAClD,MAAM,gBAAgB,CAAC;AACxB,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAEvD,eAAO,MAAM,MAAM,GAAI,OAAM,OAAO,CAAC,mBAAmB,CAAM,KAAG,mBAS/D,CAAC;AAEH,MAAM,WAAW,gBAAiB,SAAQ,gBAAgB;IACxD,WAAW,EAAE,eAAe,EAAE,CAAC;IAC/B,WAAW,EAAE,CAAC,MAAM,EAAE,cAAc,KAAK,IAAI,CAAC;IAC9C,UAAU,EAAE,CAAC,GAAG,EAAE,KAAK,KAAK,IAAI,CAAC;CAClC;AAED,wBAAgB,oBAAoB,CAAC,IAAI,GAAE,OAAO,GAAG,SAAqB,GAAG,gBAAgB,CAyB5F;AAED,MAAM,WAAW,iBAAkB,SAAQ,gBAAgB;IACzD,WAAW,EAAE,eAAe,EAAE,CAAC;CAChC;AAED,wBAAgB,qBAAqB,CACnC,MAAM,EAAE,cAAc,EACtB,IAAI,GAAE,OAAO,GAAG,SAAqB,GACpC,iBAAiB,CAUnB;AAmBD,wBAAgB,YAAY,CAC1B,KAAK,EAAE,UAAU,CAAC,cAAc,EAChC,KAAK,SAAM,GACV,MAAM,OAAO,CAAC,IAAI,CAAC,CAMrB;AAaD,wBAAgB,iBAAiB,CAC/B,KAAK,EAAE,UAAU,CAAC,cAAc,EAChC,QAAQ,SAAO,GACd,CAAC,IAAI,EAAE,MAAM,OAAO,KAAK,OAAO,CAAC,IAAI,CAAC,
|
|
1
|
+
{"version":3,"file":"tick-helpers.d.ts","sourceRoot":"","sources":["../../src/__tests__/tick-helpers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,UAAU,MAAM,sBAAsB,CAAC;AACnD,OAAO,KAAK,EACV,gBAAgB,EAAE,eAAe,EAAE,cAAc,EAClD,MAAM,gBAAgB,CAAC;AACxB,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAEvD,eAAO,MAAM,MAAM,GAAI,OAAM,OAAO,CAAC,mBAAmB,CAAM,KAAG,mBAS/D,CAAC;AAEH,MAAM,WAAW,gBAAiB,SAAQ,gBAAgB;IACxD,WAAW,EAAE,eAAe,EAAE,CAAC;IAC/B,WAAW,EAAE,CAAC,MAAM,EAAE,cAAc,KAAK,IAAI,CAAC;IAC9C,UAAU,EAAE,CAAC,GAAG,EAAE,KAAK,KAAK,IAAI,CAAC;CAClC;AAED,wBAAgB,oBAAoB,CAAC,IAAI,GAAE,OAAO,GAAG,SAAqB,GAAG,gBAAgB,CAyB5F;AAED,MAAM,WAAW,iBAAkB,SAAQ,gBAAgB;IACzD,WAAW,EAAE,eAAe,EAAE,CAAC;CAChC;AAED,wBAAgB,qBAAqB,CACnC,MAAM,EAAE,cAAc,EACtB,IAAI,GAAE,OAAO,GAAG,SAAqB,GACpC,iBAAiB,CAUnB;AAmBD,wBAAgB,YAAY,CAC1B,KAAK,EAAE,UAAU,CAAC,cAAc,EAChC,KAAK,SAAM,GACV,MAAM,OAAO,CAAC,IAAI,CAAC,CAMrB;AAaD,wBAAgB,iBAAiB,CAC/B,KAAK,EAAE,UAAU,CAAC,cAAc,EAChC,QAAQ,SAAO,GACd,CAAC,IAAI,EAAE,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,KAAK,OAAO,CAAC,IAAI,CAAC,CAY3D"}
|
|
@@ -85,11 +85,11 @@ export function drainFactory(clock, iters = 200) {
|
|
|
85
85
|
export function drainUntilFactory(clock, maxIters = 1200) {
|
|
86
86
|
return async function drainUntil(cond) {
|
|
87
87
|
for (let i = 0; i < maxIters; i++) {
|
|
88
|
-
if (cond())
|
|
88
|
+
if (await cond())
|
|
89
89
|
return;
|
|
90
90
|
await clock.tickAsync(50);
|
|
91
91
|
}
|
|
92
|
-
if (!cond()) {
|
|
92
|
+
if (!(await cond())) {
|
|
93
93
|
throw new Error(`drainUntil: condition still false after ${maxIters} iters (${maxIters * 50}ms fake time)`);
|
|
94
94
|
}
|
|
95
95
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tick-helpers.js","sourceRoot":"","sources":["../../src/__tests__/tick-helpers.ts"],"names":[],"mappings":"AAMA,MAAM,CAAC,MAAM,MAAM,GAAG,CAAC,OAAqC,EAAE,EAAuB,EAAE,CAAC,CAAC;IACvF,OAAO,EAAE,SAAS;IAClB,OAAO,EAAE,kBAAkB;IAC3B,KAAK,EAAE,MAAM;IACb,IAAI,EAAE,SAAS;IACf,cAAc,EAAE,WAAW;IAC3B,QAAQ,EAAE,KAAK;IACf,YAAY,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE;IAC9B,GAAG,IAAI;CACR,CAAC,CAAC;AAQH,MAAM,UAAU,oBAAoB,CAAC,OAA4B,SAAS;IACxE,MAAM,WAAW,GAAsB,EAAE,CAAC;IAC1C,MAAM,SAAS,GAAuC,EAAE,CAAC;IACzD,MAAM,SAAS,GAA8B,EAAE,CAAC;IAChD,OAAO;QACL,IAAI;QACJ,WAAW;QACX,WAAW,EAAE,CAAC,MAAsB,EAAE,EAAE;YACtC,MAAM,CAAC,GAAG,SAAS,CAAC,KAAK,EAAE,CAAC;YAC5B,SAAS,CAAC,KAAK,EAAE,CAAC;YAClB,IAAI,CAAC;gBAAE,CAAC,CAAC,MAAM,CAAC,CAAC;QACnB,CAAC;QACD,UAAU,EAAE,CAAC,GAAU,EAAE,EAAE;YACzB,SAAS,CAAC,KAAK,EAAE,CAAC;YAClB,MAAM,EAAE,GAAG,SAAS,CAAC,KAAK,EAAE,CAAC;YAC7B,IAAI,EAAE;gBAAE,EAAE,CAAC,GAAG,CAAC,CAAC;QAClB,CAAC;QACD,KAAK,CAAC,OAAO,CAAC,GAAoB;YAChC,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACtB,OAAO,IAAI,OAAO,CAAiB,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;gBACrD,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;gBACxB,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YACzB,CAAC,CAAC,CAAC;QACL,CAAC;KACF,CAAC;AACJ,CAAC;AAMD,MAAM,UAAU,qBAAqB,CACnC,MAAsB,EACtB,OAA4B,SAAS;IAErC,MAAM,WAAW,GAAsB,EAAE,CAAC;IAC1C,OAAO;QACL,IAAI;QACJ,WAAW;QACX,KAAK,CAAC,OAAO,CAAC,GAAoB;YAChC,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACtB,OAAO,MAAM,CAAC;QAChB,CAAC;KACF,CAAC;AACJ,CAAC;AAED,qEAAqE;AACrE,0EAA0E;AAC1E,yDAAyD;AACzD,EAAE;AACF,4EAA4E;AAC5E,6EAA6E;AAC7E,yEAAyE;AACzE,uEAAuE;AACvE,2CAA2C;AAC3C,EAAE;AACF,6EAA6E;AAC7E,0EAA0E;AAC1E,qEAAqE;AACrE,EAAE;AACF,yEAAyE;AACzE,oEAAoE;AACpE,0EAA0E;AAC1E,MAAM,UAAU,YAAY,CAC1B,KAAgC,EAChC,KAAK,GAAG,GAAG;IAEX,OAAO,KAAK,UAAU,KAAK;QACzB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,EAAE,CAAC;YAC/B,MAAM,KAAK,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;QAC5B,CAAC;IACH,CAAC,CAAC;AACJ,CAAC;AAED,4EAA4E;AAC5E,6EAA6E;AAC7E,2DAA2D;AAC3D,0EAA0E;AAC1E,wEAAwE;AACxE,yCAAyC;AACzC,mEAAmE;AACnE,wDAAwD;AACxD,EAAE;AACF,sEAAsE;AACtE,+DAA+D;AAC/D,MAAM,UAAU,iBAAiB,CAC/B,KAAgC,EAChC,QAAQ,GAAG,IAAI;IAEf,OAAO,KAAK,UAAU,UAAU,CAAC,
|
|
1
|
+
{"version":3,"file":"tick-helpers.js","sourceRoot":"","sources":["../../src/__tests__/tick-helpers.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@mclawnet/scheduler",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.4",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"exports": {
|
|
6
6
|
".": {
|
|
@@ -18,8 +18,8 @@
|
|
|
18
18
|
"dependencies": {
|
|
19
19
|
"croner": "^10.0.1",
|
|
20
20
|
"ulid": "^2.3.0",
|
|
21
|
-
"@mclawnet/
|
|
22
|
-
"@mclawnet/
|
|
21
|
+
"@mclawnet/task": "0.1.3",
|
|
22
|
+
"@mclawnet/logger": "0.1.7"
|
|
23
23
|
},
|
|
24
24
|
"devDependencies": {
|
|
25
25
|
"@sinonjs/fake-timers": "^11.2.2",
|