pixivflow 2.18.0 → 2.18.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/dist/commands/SchedulerCommand.d.ts.map +1 -1
- package/dist/commands/SchedulerCommand.js +63 -38
- package/dist/commands/SchedulerCommand.js.map +1 -1
- package/dist/commands/scheduler-runtime.d.ts +6 -0
- package/dist/commands/scheduler-runtime.d.ts.map +1 -1
- package/dist/commands/scheduler-runtime.js +77 -9
- package/dist/commands/scheduler-runtime.js.map +1 -1
- package/dist/download/DownloadManager.d.ts +9 -0
- package/dist/download/DownloadManager.d.ts.map +1 -1
- package/dist/download/DownloadManager.js +18 -1
- package/dist/download/DownloadManager.js.map +1 -1
- package/dist/package.json +1 -1
- package/dist/pixiv-client/PixivFlowPixivClient.d.ts +7 -1
- package/dist/pixiv-client/PixivFlowPixivClient.d.ts.map +1 -1
- package/dist/pixiv-client/PixivFlowPixivClient.js +14 -8
- package/dist/pixiv-client/PixivFlowPixivClient.js.map +1 -1
- package/dist/pixiv-client/TargetSearchRunner.d.ts +2 -2
- package/dist/pixiv-client/TargetSearchRunner.d.ts.map +1 -1
- package/dist/pixiv-client/TargetSearchRunner.js +21 -14
- package/dist/pixiv-client/TargetSearchRunner.js.map +1 -1
- package/dist/scheduler/MultiScheduleManager.d.ts +33 -1
- package/dist/scheduler/MultiScheduleManager.d.ts.map +1 -1
- package/dist/scheduler/MultiScheduleManager.js +115 -2
- package/dist/scheduler/MultiScheduleManager.js.map +1 -1
- package/dist/scheduler/ScheduleTriggerServer.d.ts +32 -9
- package/dist/scheduler/ScheduleTriggerServer.d.ts.map +1 -1
- package/dist/scheduler/ScheduleTriggerServer.js +34 -6
- package/dist/scheduler/ScheduleTriggerServer.js.map +1 -1
- package/dist/scheduler/Scheduler.d.ts +28 -1
- package/dist/scheduler/Scheduler.d.ts.map +1 -1
- package/dist/scheduler/Scheduler.js +82 -7
- package/dist/scheduler/Scheduler.js.map +1 -1
- package/dist/scheduler/SlotCoordinator.d.ts +28 -3
- package/dist/scheduler/SlotCoordinator.d.ts.map +1 -1
- package/dist/scheduler/SlotCoordinator.js +31 -5
- package/dist/scheduler/SlotCoordinator.js.map +1 -1
- package/dist/storage/repositories/SlotRepository.d.ts +17 -0
- package/dist/storage/repositories/SlotRepository.d.ts.map +1 -1
- package/dist/storage/repositories/SlotRepository.js +26 -4
- package/dist/storage/repositories/SlotRepository.js.map +1 -1
- package/dist/topic/TopicPipeline.d.ts +15 -1
- package/dist/topic/TopicPipeline.d.ts.map +1 -1
- package/dist/topic/TopicPipeline.js +18 -2
- package/dist/topic/TopicPipeline.js.map +1 -1
- package/dist/topic/TopicResolver.d.ts +5 -1
- package/dist/topic/TopicResolver.d.ts.map +1 -1
- package/dist/topic/TopicResolver.js +32 -6
- package/dist/topic/TopicResolver.js.map +1 -1
- package/dist/topic/createTopicPipeline.d.ts +2 -2
- package/dist/topic/createTopicPipeline.d.ts.map +1 -1
- package/dist/topic/createTopicPipeline.js +5 -5
- package/dist/topic/createTopicPipeline.js.map +1 -1
- package/dist/topic/types.d.ts +5 -1
- package/dist/topic/types.d.ts.map +1 -1
- package/dist/utils/errors.d.ts +18 -0
- package/dist/utils/errors.d.ts.map +1 -1
- package/dist/utils/errors.js +30 -0
- package/dist/utils/errors.js.map +1 -1
- package/dist/version.js +1 -1
- package/dist/webui/package.json +1 -1
- package/package.json +1 -1
|
@@ -65,18 +65,24 @@ class PixivFlowPixivClient {
|
|
|
65
65
|
}
|
|
66
66
|
// -- IPixivClient surface ---------------------------------------------------
|
|
67
67
|
searchIllustrations(target) {
|
|
68
|
+
return this.searchIllustrationsInternal(target);
|
|
69
|
+
}
|
|
70
|
+
searchIllustrationsInternal(target, signal) {
|
|
68
71
|
const requestDelay = this.config.download?.requestDelay ?? 500;
|
|
69
|
-
return this.searchRunner.searchIllustrations(target, requestDelay);
|
|
72
|
+
return this.searchRunner.searchIllustrations(target, requestDelay, signal);
|
|
70
73
|
}
|
|
71
74
|
searchNovels(target) {
|
|
75
|
+
return this.searchNovelsInternal(target);
|
|
76
|
+
}
|
|
77
|
+
searchNovelsInternal(target, signal) {
|
|
72
78
|
const requestDelay = this.config.download?.requestDelay ?? 500;
|
|
73
|
-
return this.searchRunner.searchNovels(target, requestDelay);
|
|
79
|
+
return this.searchRunner.searchNovels(target, requestDelay, signal);
|
|
74
80
|
}
|
|
75
|
-
getTagAutocomplete(seed) {
|
|
76
|
-
return this.kit.tags.autocomplete(seed);
|
|
81
|
+
getTagAutocomplete(seed, options = {}) {
|
|
82
|
+
return this.kit.tags.autocomplete(seed, options.signal);
|
|
77
83
|
}
|
|
78
84
|
searchIllustrationsForTags(seed, limit, options = {}) {
|
|
79
|
-
return this.
|
|
85
|
+
return this.searchIllustrationsInternal({
|
|
80
86
|
type: 'illustration',
|
|
81
87
|
tag: seed,
|
|
82
88
|
searchTarget: 'partial_match_for_tags',
|
|
@@ -85,10 +91,10 @@ class PixivFlowPixivClient {
|
|
|
85
91
|
startDate: options.startDate,
|
|
86
92
|
endDate: options.endDate,
|
|
87
93
|
r18: options.includeR18,
|
|
88
|
-
});
|
|
94
|
+
}, options.signal);
|
|
89
95
|
}
|
|
90
96
|
searchNovelsForTags(seed, limit, options = {}) {
|
|
91
|
-
return this.
|
|
97
|
+
return this.searchNovelsInternal({
|
|
92
98
|
type: 'novel',
|
|
93
99
|
tag: seed,
|
|
94
100
|
searchTarget: 'partial_match_for_tags',
|
|
@@ -97,7 +103,7 @@ class PixivFlowPixivClient {
|
|
|
97
103
|
startDate: options.startDate,
|
|
98
104
|
endDate: options.endDate,
|
|
99
105
|
r18: options.includeR18,
|
|
100
|
-
});
|
|
106
|
+
}, options.signal);
|
|
101
107
|
}
|
|
102
108
|
getIllustration(id) {
|
|
103
109
|
return this.kit.illustrations.get(id);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PixivFlowPixivClient.js","sourceRoot":"","sources":["../../src/pixiv-client/PixivFlowPixivClient.ts"],"names":[],"mappings":";;;AAAA,yDAUgC;AAIhC,iDAAyE;AACzE,6DAA0D;AAgB1D;;;;;;;;;GASG;AACH,MAAa,oBAAoB;IACd,GAAG,CAAiB;IACpB,YAAY,CAAqB;IACjC,MAAM,CAAmB;IAE1C,YAAY,OAAoC;QAC9C,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;QAC7B,MAAM,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,OAAO,IAAI,EAAE,CAAC;QAE7C,MAAM,KAAK,GAAG,OAAO,CAAC,MAAM,CAAC,OAAO,EAAE,KAAK,CAAC;QAC5C,MAAM,YAAY,GAAG,KAAK,EAAE,OAAO,IAAI,KAAK,CAAC,IAAI,IAAI,KAAK,CAAC,IAAI;YAC7D,CAAC,CAAC;gBACE,QAAQ,EAAE,CAAC,KAAK,CAAC,QAAQ,IAAI,MAAM,CAAC,CAAC,WAAW,EAAsD;gBACtG,IAAI,EAAE,KAAK,CAAC,IAAI;gBAChB,IAAI,EAAE,KAAK,CAAC,IAAI;gBAChB,QAAQ,EAAE,KAAK,CAAC,QAAQ;gBACxB,QAAQ,EAAE,KAAK,CAAC,QAAQ;aACzB;YACH,CAAC,CAAC,SAAS,CAAC;QAEd,0EAA0E;QAC1E,2DAA2D;QAC3D,yEAAyE;QACzE,MAAM,YAAY,GAAG,OAAuC,CAAC;QAC7D,MAAM,gBAAgB,GAAG,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,OAAO,EAAE,iBAAiB,CAAC,CAAC;QAE1F,IAAI,CAAC,GAAG,GAAG,IAAI,0BAAc,CAAC;YAC5B,IAAI,EAAE,OAAO,CAAC,IAAI;YAClB,OAAO,EAAE,2BAA2B;YACpC,SAAS,EAAE,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,SAAS;YACzC,SAAS,EAAE,OAAO,CAAC,SAAS,IAAI,MAAM;YACtC,OAAO,EAAE,OAAO,CAAC,OAAO,IAAI,CAAC;YAC7B,KAAK,EAAE,YAAY;YACnB,SAAS,EAAE;gBACT,GAAG,CAAC,gBAAgB,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,YAAY,CAAC,eAAe,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC5E,UAAU,EAAE,OAAO,CAAC,mBAAmB;gBACvC,KAAK,EAAE,OAAO,CAAC,cAAc;aAC9B;YACD,MAAM,EAAE,OAAO,CAAC,MAAM;SACvB,CAAC,CAAC;QACH,IAAI,CAAC,YAAY,GAAG,IAAI,uCAAkB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACvD,CAAC;IAED,sEAAsE;IACtE,MAAM;QACJ,OAAO,IAAI,CAAC,GAAG,CAAC;IAClB,CAAC;IAED,0DAA0D;IAC1D,cAAc;QACZ,OAAO,IAAI,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;IACrC,CAAC;IAED,kBAAkB;QAChB,OAAO,IAAI,CAAC,GAAG,CAAC,kBAAkB,EAAE,CAAC;IACvC,CAAC;IAED,8EAA8E;IAE9E,mBAAmB,CAAC,MAAoB;QACtC,MAAM,YAAY,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,YAAY,IAAI,GAAG,CAAC;QAC/D,OAAO,IAAI,CAAC,YAAY,CAAC,mBAAmB,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"PixivFlowPixivClient.js","sourceRoot":"","sources":["../../src/pixiv-client/PixivFlowPixivClient.ts"],"names":[],"mappings":"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"}
|
|
@@ -9,8 +9,8 @@ import type { TargetConfig } from '../config';
|
|
|
9
9
|
export declare class TargetSearchRunner {
|
|
10
10
|
private readonly kit;
|
|
11
11
|
constructor(kit: KitPixivClient);
|
|
12
|
-
searchIllustrations(target: TargetConfig, requestDelayMs: number): Promise<PixivIllust[]>;
|
|
13
|
-
searchNovels(target: TargetConfig, requestDelayMs: number): Promise<PixivNovel[]>;
|
|
12
|
+
searchIllustrations(target: TargetConfig, requestDelayMs: number, signal?: AbortSignal): Promise<PixivIllust[]>;
|
|
13
|
+
searchNovels(target: TargetConfig, requestDelayMs: number, signal?: AbortSignal): Promise<PixivNovel[]>;
|
|
14
14
|
private mergeTagUnion;
|
|
15
15
|
private searchSingleIllust;
|
|
16
16
|
private searchSingleNovel;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TargetSearchRunner.d.ts","sourceRoot":"","sources":["../../src/pixiv-client/TargetSearchRunner.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,WAAW,IAAI,cAAc,EAC7B,WAAW,EACX,UAAU,EAGX,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"TargetSearchRunner.d.ts","sourceRoot":"","sources":["../../src/pixiv-client/TargetSearchRunner.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,WAAW,IAAI,cAAc,EAC7B,WAAW,EACX,UAAU,EAGX,MAAM,wBAAwB,CAAC;AAOhC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAG9C;;;;;GAKG;AACH,qBAAa,kBAAkB;IACjB,OAAO,CAAC,QAAQ,CAAC,GAAG;gBAAH,GAAG,EAAE,cAAc;IAE1C,mBAAmB,CACvB,MAAM,EAAE,YAAY,EACpB,cAAc,EAAE,MAAM,EACtB,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,WAAW,EAAE,CAAC;IAQnB,YAAY,CAChB,MAAM,EAAE,YAAY,EACpB,cAAc,EAAE,MAAM,EACtB,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,UAAU,EAAE,CAAC;YAQV,aAAa;YA4Bb,kBAAkB;YAgBlB,iBAAiB;IAgB/B;;;;;;;OAOG;YACW,oBAAoB;IA4FlC,OAAO,CAAC,gBAAgB;IAsCxB,OAAO,CAAC,mBAAmB;CAW5B"}
|
|
@@ -6,6 +6,7 @@ const logger_1 = require("../logger");
|
|
|
6
6
|
const date_utils_1 = require("../utils/date-utils");
|
|
7
7
|
const date_utils_2 = require("../utils/date-utils");
|
|
8
8
|
const pixiv_sort_1 = require("../utils/pixiv-sort");
|
|
9
|
+
const errors_1 = require("../utils/errors");
|
|
9
10
|
const query_mapper_1 = require("./query-mapper");
|
|
10
11
|
/**
|
|
11
12
|
* Host-side replacement for the old in-kit SearchService: drives the kit's
|
|
@@ -18,25 +19,26 @@ class TargetSearchRunner {
|
|
|
18
19
|
constructor(kit) {
|
|
19
20
|
this.kit = kit;
|
|
20
21
|
}
|
|
21
|
-
async searchIllustrations(target, requestDelayMs) {
|
|
22
|
+
async searchIllustrations(target, requestDelayMs, signal) {
|
|
22
23
|
if (target.tagRelation === 'or') {
|
|
23
|
-
return this.mergeTagUnion(target, requestDelayMs, (t, tag, d) => this.searchSingleIllust(t, tag, d));
|
|
24
|
+
return this.mergeTagUnion(target, requestDelayMs, (t, tag, d) => this.searchSingleIllust(t, tag, d, signal), signal);
|
|
24
25
|
}
|
|
25
|
-
return this.searchSingleIllust(target, target.tag, requestDelayMs);
|
|
26
|
+
return this.searchSingleIllust(target, target.tag, requestDelayMs, signal);
|
|
26
27
|
}
|
|
27
|
-
async searchNovels(target, requestDelayMs) {
|
|
28
|
+
async searchNovels(target, requestDelayMs, signal) {
|
|
28
29
|
if (target.tagRelation === 'or') {
|
|
29
|
-
return this.mergeTagUnion(target, requestDelayMs, (t, tag, d) => this.searchSingleNovel(t, tag, d));
|
|
30
|
+
return this.mergeTagUnion(target, requestDelayMs, (t, tag, d) => this.searchSingleNovel(t, tag, d, signal), signal);
|
|
30
31
|
}
|
|
31
|
-
return this.searchSingleNovel(target, target.tag, requestDelayMs);
|
|
32
|
+
return this.searchSingleNovel(target, target.tag, requestDelayMs, signal);
|
|
32
33
|
}
|
|
33
|
-
async mergeTagUnion(target, requestDelayMs, runOne) {
|
|
34
|
+
async mergeTagUnion(target, requestDelayMs, runOne, signal) {
|
|
34
35
|
const tags = target.tag.split(/\s+/).map((t) => t.trim()).filter(Boolean);
|
|
35
36
|
if (tags.length <= 1)
|
|
36
37
|
return runOne(target, target.tag, requestDelayMs);
|
|
37
38
|
const seen = new Set();
|
|
38
39
|
const merged = [];
|
|
39
40
|
for (let i = 0; i < tags.length; i++) {
|
|
41
|
+
(0, errors_1.throwIfAborted)(signal, 'search cancelled');
|
|
40
42
|
const part = await runOne(target, tags[i], requestDelayMs);
|
|
41
43
|
for (const item of part) {
|
|
42
44
|
const key = String(item.id);
|
|
@@ -48,16 +50,16 @@ class TargetSearchRunner {
|
|
|
48
50
|
if (target.limit && merged.length >= target.limit)
|
|
49
51
|
break;
|
|
50
52
|
if (i < tags.length - 1 && requestDelayMs > 0)
|
|
51
|
-
await (0, promises_1.setTimeout)(requestDelayMs);
|
|
53
|
+
await (0, promises_1.setTimeout)(requestDelayMs, undefined, { signal });
|
|
52
54
|
}
|
|
53
55
|
const sorted = (0, pixiv_sort_1.sortPixivItems)(merged, target.sort);
|
|
54
56
|
return target.limit ? sorted.slice(0, target.limit) : sorted;
|
|
55
57
|
}
|
|
56
|
-
async searchSingleIllust(target, tag, requestDelayMs) {
|
|
57
|
-
return this.searchWithPagination(target, tag, requestDelayMs, (options) => this.kit.illustrations.searchPage(options), (t, g) => (0, query_mapper_1.mapTargetToIllustQuery)({ ...t, tag: g }));
|
|
58
|
+
async searchSingleIllust(target, tag, requestDelayMs, signal) {
|
|
59
|
+
return this.searchWithPagination(target, tag, requestDelayMs, (options) => this.kit.illustrations.searchPage(options), (t, g) => (0, query_mapper_1.mapTargetToIllustQuery)({ ...t, tag: g }), signal);
|
|
58
60
|
}
|
|
59
|
-
async searchSingleNovel(target, tag, requestDelayMs) {
|
|
60
|
-
return this.searchWithPagination(target, tag, requestDelayMs, (options) => this.kit.novels.searchPage(options), (t, g) => (0, query_mapper_1.mapTargetToNovelQuery)({ ...t, tag: g }));
|
|
61
|
+
async searchSingleNovel(target, tag, requestDelayMs, signal) {
|
|
62
|
+
return this.searchWithPagination(target, tag, requestDelayMs, (options) => this.kit.novels.searchPage(options), (t, g) => (0, query_mapper_1.mapTargetToNovelQuery)({ ...t, tag: g }), signal);
|
|
61
63
|
}
|
|
62
64
|
/**
|
|
63
65
|
* Date-aware pagination. Mirrors the legacy SearchService semantics:
|
|
@@ -67,7 +69,7 @@ class TargetSearchRunner {
|
|
|
67
69
|
* - post-filter popular_desc results by the date range;
|
|
68
70
|
* - final stable sort + target.limit slice.
|
|
69
71
|
*/
|
|
70
|
-
async searchWithPagination(target, tag, requestDelayMs, fetchPage, buildBase) {
|
|
72
|
+
async searchWithPagination(target, tag, requestDelayMs, fetchPage, buildBase, signal) {
|
|
71
73
|
const fetchOne = fetchPage;
|
|
72
74
|
logger_1.logger.debug('Searching Pixiv', {
|
|
73
75
|
tag,
|
|
@@ -95,6 +97,7 @@ class TargetSearchRunner {
|
|
|
95
97
|
let pageCount = 0;
|
|
96
98
|
let shouldStop = false;
|
|
97
99
|
while ((!fetchLimit || results.length < fetchLimit) && !shouldStop) {
|
|
100
|
+
(0, errors_1.throwIfAborted)(signal, 'search cancelled');
|
|
98
101
|
pageCount++;
|
|
99
102
|
// Dates are intentionally filtered CLIENT-side below (legacy behavior;
|
|
100
103
|
// PixivFlow needs the early-stop walk on create_date).
|
|
@@ -104,6 +107,10 @@ class TargetSearchRunner {
|
|
|
104
107
|
searchTarget: base.searchTarget,
|
|
105
108
|
includeR18: base.includeR18,
|
|
106
109
|
cursor,
|
|
110
|
+
// Threaded into the kit transport, which combines it with its per-request
|
|
111
|
+
// timeout and honours it in retry back-off. Without this the pager could
|
|
112
|
+
// stay blocked in a single hung request for the rest of the run.
|
|
113
|
+
signal,
|
|
107
114
|
});
|
|
108
115
|
cursor = page.next;
|
|
109
116
|
for (const item of page.items) {
|
|
@@ -120,7 +127,7 @@ class TargetSearchRunner {
|
|
|
120
127
|
}
|
|
121
128
|
if (cursor && requestDelayMs > 0 && !shouldStop) {
|
|
122
129
|
logger_1.logger.debug(`Tag "${tag}" page ${pageCount}: total collected ${results.length}, waiting ${requestDelayMs}ms...`);
|
|
123
|
-
await (0, promises_1.setTimeout)(requestDelayMs);
|
|
130
|
+
await (0, promises_1.setTimeout)(requestDelayMs, undefined, { signal });
|
|
124
131
|
}
|
|
125
132
|
if (!cursor)
|
|
126
133
|
break;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TargetSearchRunner.js","sourceRoot":"","sources":["../../src/pixiv-client/TargetSearchRunner.ts"],"names":[],"mappings":";;;AAAA,mDAA2D;AAS3D,sCAAmC;AACnC,oDAAqD;AACrD,oDAAoD;AACpD,oDAAqD;
|
|
1
|
+
{"version":3,"file":"TargetSearchRunner.js","sourceRoot":"","sources":["../../src/pixiv-client/TargetSearchRunner.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { Database } from '../storage/Database';
|
|
2
2
|
import { ScheduleConfig, StandaloneConfig } from '../config';
|
|
3
|
-
import { JobFailure, JobTelemetry } from './Scheduler';
|
|
3
|
+
import { JobAbandoned, JobFailure, JobTelemetry } from './Scheduler';
|
|
4
4
|
import { ResolvedOccurrence, ScheduleRunOptions } from './OccurrenceResolver';
|
|
5
5
|
import { SlotContext } from './SlotCoordinator';
|
|
6
6
|
export interface MultiScheduleManagerOptions {
|
|
@@ -10,6 +10,13 @@ export interface MultiScheduleManagerOptions {
|
|
|
10
10
|
database?: Database;
|
|
11
11
|
telemetry?: JobTelemetry;
|
|
12
12
|
onFailure?: (config: StandaloneConfig, schedule: ScheduleConfig, failure: JobFailure) => Promise<void> | void;
|
|
13
|
+
/**
|
|
14
|
+
* A run outlived its timeout AND the drain window, so it will never be
|
|
15
|
+
* awaited again. The host must finish the bookkeeping the run cannot: stop
|
|
16
|
+
* renewing its lease and take its Slot terminal, otherwise the recovery sweep
|
|
17
|
+
* re-dispatches the same occurrence next to a still-running job.
|
|
18
|
+
*/
|
|
19
|
+
onAbandoned?: (config: StandaloneConfig, schedule: ScheduleConfig, abandoned: JobAbandoned) => Promise<void> | void;
|
|
13
20
|
onReload?: (result: ConfigReloadResult) => void;
|
|
14
21
|
}
|
|
15
22
|
export interface ConfigReloadResult {
|
|
@@ -18,6 +25,12 @@ export interface ConfigReloadResult {
|
|
|
18
25
|
schedules: string[];
|
|
19
26
|
error?: string;
|
|
20
27
|
}
|
|
28
|
+
/**
|
|
29
|
+
* How often the manager looks for unfinished occurrences that no live worker
|
|
30
|
+
* owns. Combined with the slot lease TTL (SlotCoordinator), the worst case for a
|
|
31
|
+
* slot stranded by a crash/redeploy is roughly TTL + one sweep.
|
|
32
|
+
*/
|
|
33
|
+
export declare const RECOVERY_INTERVAL_MS: number;
|
|
21
34
|
/**
|
|
22
35
|
* Hosts many cron plans in one process. A validated config snapshot replaces
|
|
23
36
|
* the complete cron table at once; invalid updates leave the previous table
|
|
@@ -29,10 +42,29 @@ export declare class MultiScheduleManager {
|
|
|
29
42
|
private activeConfig;
|
|
30
43
|
private generation;
|
|
31
44
|
private reloadTimer;
|
|
45
|
+
private recoveryTimer;
|
|
32
46
|
private watching;
|
|
33
47
|
private readonly admission;
|
|
34
48
|
constructor(options: MultiScheduleManagerOptions);
|
|
35
49
|
start(initialConfig?: StandaloneConfig): ConfigReloadResult;
|
|
50
|
+
private startRecoveryLoop;
|
|
51
|
+
/**
|
|
52
|
+
* Re-dispatch occurrences that the durable ledger says are unfinished but that
|
|
53
|
+
* no live worker owns.
|
|
54
|
+
*
|
|
55
|
+
* This is NOT catch-up: catch-up guesses from cron that a fire was missed, and
|
|
56
|
+
* is therefore disabled in `external` mode where a stopped machine is normal.
|
|
57
|
+
* Recovery instead acts on a slot row that provably exists and has not reached
|
|
58
|
+
* a terminal state — a worker that crashed, was redeployed, or died between
|
|
59
|
+
* "occurrence recorded" and "lease claimed". It must run in EVERY mode, or an
|
|
60
|
+
* autosleep/external deployment silently strands those slots forever.
|
|
61
|
+
*
|
|
62
|
+
* Recovery only DISPATCHES. Clearing the lease here would race a healthy owner
|
|
63
|
+
* that heartbeats between the read and the write; the atomic CAS in
|
|
64
|
+
* `claimSlotLease` elects the single winner, so duplicate clocks, restarts and
|
|
65
|
+
* overlapping sweeps all converge on one worker.
|
|
66
|
+
*/
|
|
67
|
+
private recoverInterruptedSlots;
|
|
36
68
|
/**
|
|
37
69
|
* Self-healing: if the daemon was down across a cron fire (deploy window,
|
|
38
70
|
* crash, restart), the last recorded execution for a schedule is older than
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MultiScheduleManager.d.ts","sourceRoot":"","sources":["../../src/scheduler/MultiScheduleManager.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAE/C,OAAO,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAC7D,OAAO,
|
|
1
|
+
{"version":3,"file":"MultiScheduleManager.d.ts","sourceRoot":"","sources":["../../src/scheduler/MultiScheduleManager.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAE/C,OAAO,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAC7D,OAAO,EAEL,YAAY,EAEZ,UAAU,EAEV,YAAY,EAEb,MAAM,aAAa,CAAC;AAErB,OAAO,EAAE,kBAAkB,EAAE,kBAAkB,EAAoC,MAAM,sBAAsB,CAAC;AAChH,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAEhD,MAAM,WAAW,2BAA2B;IAC1C,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,gBAAgB,CAAC;IACnC,OAAO,EAAE,CAAC,MAAM,EAAE,gBAAgB,EAAE,QAAQ,EAAE,cAAc,EAAE,OAAO,CAAC,EAAE,kBAAkB,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC7G,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,SAAS,CAAC,EAAE,YAAY,CAAC;IACzB,SAAS,CAAC,EAAE,CACV,MAAM,EAAE,gBAAgB,EACxB,QAAQ,EAAE,cAAc,EACxB,OAAO,EAAE,UAAU,KAChB,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;IAC1B;;;;;OAKG;IACH,WAAW,CAAC,EAAE,CACZ,MAAM,EAAE,gBAAgB,EACxB,QAAQ,EAAE,cAAc,EACxB,SAAS,EAAE,YAAY,KACpB,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;IAC1B,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE,kBAAkB,KAAK,IAAI,CAAC;CACjD;AAED,MAAM,WAAW,kBAAkB;IACjC,EAAE,EAAE,OAAO,CAAC;IACZ,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;;;GAIG;AACH,eAAO,MAAM,oBAAoB,QAAY,CAAC;AA6D9C;;;;GAIG;AACH,qBAAa,oBAAoB;IASnB,OAAO,CAAC,QAAQ,CAAC,OAAO;IARpC,OAAO,CAAC,UAAU,CAAgC;IAClD,OAAO,CAAC,YAAY,CAAoB;IACxC,OAAO,CAAC,UAAU,CAAK;IACvB,OAAO,CAAC,WAAW,CAA+B;IAClD,OAAO,CAAC,aAAa,CAA+B;IACpD,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,QAAQ,CAAC,SAAS,CAA6B;gBAE1B,OAAO,EAAE,2BAA2B;IAE1D,KAAK,CAAC,aAAa,CAAC,EAAE,gBAAgB,GAAG,kBAAkB;IAelE,OAAO,CAAC,iBAAiB;IAmBzB;;;;;;;;;;;;;;;OAeG;IACH,OAAO,CAAC,uBAAuB;IA8D/B;;;;;;OAMG;IACH,OAAO,CAAC,iBAAiB;IAyClB,MAAM,IAAI,kBAAkB;IAuBnC,OAAO,CAAC,WAAW;IAqDnB,OAAO,CAAC,aAAa;IAsBd,IAAI,IAAI,IAAI;IAWnB,gFAAgF;IACzE,cAAc,CAAC,MAAM,GAAE,gBAAoC,GAAG,OAAO;IAI5E;;;;;;OAMG;IACI,eAAe,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,kBAAkB,GAAG,OAAO;IAMjF,kFAAkF;IAC3E,WAAW,IAAI,MAAM,EAAE;IAIvB,SAAS,IAAI,kBAAkB;CAOvC;AAED,kFAAkF;AAClF,wBAAgB,uBAAuB,CAAC,CAAC,EAAE,kBAAkB,GAAG,WAAW,CAY1E"}
|
|
@@ -3,7 +3,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
3
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.MultiScheduleManager = void 0;
|
|
6
|
+
exports.MultiScheduleManager = exports.RECOVERY_INTERVAL_MS = void 0;
|
|
7
7
|
exports.occurrenceToSlotContext = occurrenceToSlotContext;
|
|
8
8
|
const node_fs_1 = require("node:fs");
|
|
9
9
|
const cron_parser_1 = __importDefault(require("cron-parser"));
|
|
@@ -11,6 +11,18 @@ const logger_1 = require("../logger");
|
|
|
11
11
|
const Scheduler_1 = require("./Scheduler");
|
|
12
12
|
const schedules_1 = require("./schedules");
|
|
13
13
|
const OccurrenceResolver_1 = require("./OccurrenceResolver");
|
|
14
|
+
/**
|
|
15
|
+
* How often the manager looks for unfinished occurrences that no live worker
|
|
16
|
+
* owns. Combined with the slot lease TTL (SlotCoordinator), the worst case for a
|
|
17
|
+
* slot stranded by a crash/redeploy is roughly TTL + one sweep.
|
|
18
|
+
*/
|
|
19
|
+
exports.RECOVERY_INTERVAL_MS = 60 * 1000;
|
|
20
|
+
/** Narrow a stored trigger_source back to the union it was written from. */
|
|
21
|
+
function asTriggerSource(value) {
|
|
22
|
+
return value === 'cron' || value === 'http' || value === 'manual' || value === 'catchup'
|
|
23
|
+
? value
|
|
24
|
+
: 'catchup';
|
|
25
|
+
}
|
|
14
26
|
class SerialJobAdmission {
|
|
15
27
|
queueLimit;
|
|
16
28
|
active = false;
|
|
@@ -69,6 +81,7 @@ class MultiScheduleManager {
|
|
|
69
81
|
activeConfig;
|
|
70
82
|
generation = 0;
|
|
71
83
|
reloadTimer = null;
|
|
84
|
+
recoveryTimer = null;
|
|
72
85
|
watching = false;
|
|
73
86
|
admission = new SerialJobAdmission(8);
|
|
74
87
|
constructor(options) {
|
|
@@ -81,9 +94,106 @@ class MultiScheduleManager {
|
|
|
81
94
|
throw new Error(result.error || 'Failed to start scheduler');
|
|
82
95
|
}
|
|
83
96
|
this.updateWatcher(config);
|
|
97
|
+
// Recovery first: it acts on occurrences the ledger already knows about.
|
|
98
|
+
// Catch-up is inference ("cron suggests a fire was missed") and runs after.
|
|
99
|
+
this.recoverInterruptedSlots();
|
|
100
|
+
this.startRecoveryLoop();
|
|
84
101
|
this.catchUpMissedRuns(config);
|
|
85
102
|
return result;
|
|
86
103
|
}
|
|
104
|
+
startRecoveryLoop() {
|
|
105
|
+
if (!this.options.database)
|
|
106
|
+
return;
|
|
107
|
+
if (this.isExternalMode()) {
|
|
108
|
+
logger_1.logger.info('External scheduler mode: internal cron disabled, awaiting authenticated schedule triggers', {
|
|
109
|
+
recoveryIntervalMs: exports.RECOVERY_INTERVAL_MS,
|
|
110
|
+
});
|
|
111
|
+
}
|
|
112
|
+
this.recoveryTimer = setInterval(() => {
|
|
113
|
+
try {
|
|
114
|
+
this.recoverInterruptedSlots();
|
|
115
|
+
}
|
|
116
|
+
catch (error) {
|
|
117
|
+
logger_1.logger.warn('Slot recovery sweep failed; will retry on the next tick', {
|
|
118
|
+
error: error instanceof Error ? error.message : String(error),
|
|
119
|
+
});
|
|
120
|
+
}
|
|
121
|
+
}, exports.RECOVERY_INTERVAL_MS);
|
|
122
|
+
this.recoveryTimer.unref?.();
|
|
123
|
+
}
|
|
124
|
+
/**
|
|
125
|
+
* Re-dispatch occurrences that the durable ledger says are unfinished but that
|
|
126
|
+
* no live worker owns.
|
|
127
|
+
*
|
|
128
|
+
* This is NOT catch-up: catch-up guesses from cron that a fire was missed, and
|
|
129
|
+
* is therefore disabled in `external` mode where a stopped machine is normal.
|
|
130
|
+
* Recovery instead acts on a slot row that provably exists and has not reached
|
|
131
|
+
* a terminal state — a worker that crashed, was redeployed, or died between
|
|
132
|
+
* "occurrence recorded" and "lease claimed". It must run in EVERY mode, or an
|
|
133
|
+
* autosleep/external deployment silently strands those slots forever.
|
|
134
|
+
*
|
|
135
|
+
* Recovery only DISPATCHES. Clearing the lease here would race a healthy owner
|
|
136
|
+
* that heartbeats between the read and the write; the atomic CAS in
|
|
137
|
+
* `claimSlotLease` elects the single winner, so duplicate clocks, restarts and
|
|
138
|
+
* overlapping sweeps all converge on one worker.
|
|
139
|
+
*/
|
|
140
|
+
recoverInterruptedSlots() {
|
|
141
|
+
const database = this.options.database;
|
|
142
|
+
if (!database)
|
|
143
|
+
return;
|
|
144
|
+
const config = this.activeConfig;
|
|
145
|
+
const plans = new Map((0, schedules_1.resolveSchedules)(config)
|
|
146
|
+
.filter((plan) => plan.enabled)
|
|
147
|
+
.map((plan) => [plan.id, plan]));
|
|
148
|
+
const recovered = database.slots.recoverableSlots();
|
|
149
|
+
if (recovered.length === 0)
|
|
150
|
+
return;
|
|
151
|
+
let reclaimed = 0;
|
|
152
|
+
let skipped = 0;
|
|
153
|
+
for (const slot of recovered) {
|
|
154
|
+
const plan = plans.get(slot.scheduleId);
|
|
155
|
+
// A slot whose schedule no longer exists (renamed/disabled) has no plan to
|
|
156
|
+
// run. Report it rather than silently ignoring it, so a config mistake is
|
|
157
|
+
// visible instead of looking like a missing run.
|
|
158
|
+
if (!plan || slot.occurrenceAt === null || slot.occurrenceAt === undefined) {
|
|
159
|
+
skipped++;
|
|
160
|
+
logger_1.logger.warn('Cannot recover slot: no enabled schedule (or occurrence) for it', {
|
|
161
|
+
slot: slot.id,
|
|
162
|
+
schedule: slot.scheduleId,
|
|
163
|
+
status: slot.status,
|
|
164
|
+
});
|
|
165
|
+
continue;
|
|
166
|
+
}
|
|
167
|
+
// Rebuild the context from the STORED occurrence. Re-resolving "now" would
|
|
168
|
+
// map a stale slot onto a different occurrence (e.g. yesterday's 18:00
|
|
169
|
+
// resuming as today's), which is exactly the silent corruption the ledger
|
|
170
|
+
// exists to prevent.
|
|
171
|
+
const context = {
|
|
172
|
+
slotId: slot.id,
|
|
173
|
+
scheduleId: slot.scheduleId,
|
|
174
|
+
occurrenceAt: slot.occurrenceAt,
|
|
175
|
+
occurrenceDate: slot.occurrenceDate,
|
|
176
|
+
occurrenceLabel: slot.occurrenceLabel,
|
|
177
|
+
timezone: slot.timezone,
|
|
178
|
+
triggerSource: asTriggerSource(slot.triggerSource),
|
|
179
|
+
slotName: slot.slotName || slot.occurrenceLabel,
|
|
180
|
+
slotDate: slot.slotDate || slot.occurrenceDate,
|
|
181
|
+
};
|
|
182
|
+
const admitted = this.triggerSchedule(slot.scheduleId, {
|
|
183
|
+
triggerSource: context.triggerSource,
|
|
184
|
+
slot: context,
|
|
185
|
+
});
|
|
186
|
+
if (admitted)
|
|
187
|
+
reclaimed++;
|
|
188
|
+
else
|
|
189
|
+
skipped++;
|
|
190
|
+
}
|
|
191
|
+
logger_1.logger.info('Recovered interrupted slots', {
|
|
192
|
+
stale_slots_found: recovered.length,
|
|
193
|
+
reclaimed,
|
|
194
|
+
skipped,
|
|
195
|
+
});
|
|
196
|
+
}
|
|
87
197
|
/**
|
|
88
198
|
* Self-healing: if the daemon was down across a cron fire (deploy window,
|
|
89
199
|
* crash, restart), the last recorded execution for a schedule is older than
|
|
@@ -177,7 +287,7 @@ class MultiScheduleManager {
|
|
|
177
287
|
// Watchdog: schedules without an explicit timeout still get a cap so a
|
|
178
288
|
// wedged run cannot hold the shared admission queue forever.
|
|
179
289
|
const schedulerConfig = plan.timeout !== undefined ? plan : { ...plan, timeout: Scheduler_1.DEFAULT_SCHEDULE_TIMEOUT_MS };
|
|
180
|
-
const scheduler = new Scheduler_1.Scheduler(schedulerConfig, this.options.database, this.options.telemetry, plan.id, this.admission, (failure) => this.options.onFailure?.(config, plan, failure));
|
|
290
|
+
const scheduler = new Scheduler_1.Scheduler(schedulerConfig, this.options.database, this.options.telemetry, plan.id, this.admission, (failure) => this.options.onFailure?.(config, plan, failure), (abandoned) => this.options.onAbandoned?.(config, plan, abandoned));
|
|
181
291
|
scheduler[registerCron ? 'start' : 'init'](async (options) => {
|
|
182
292
|
// The closure keeps the exact validated snapshot for an in-flight run.
|
|
183
293
|
// Cron fires pass no options (runJob resolves the occurrence for now);
|
|
@@ -227,6 +337,9 @@ class MultiScheduleManager {
|
|
|
227
337
|
if (this.reloadTimer)
|
|
228
338
|
clearTimeout(this.reloadTimer);
|
|
229
339
|
this.reloadTimer = null;
|
|
340
|
+
if (this.recoveryTimer)
|
|
341
|
+
clearInterval(this.recoveryTimer);
|
|
342
|
+
this.recoveryTimer = null;
|
|
230
343
|
if (this.watching)
|
|
231
344
|
(0, node_fs_1.unwatchFile)(this.options.configPath);
|
|
232
345
|
this.watching = false;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MultiScheduleManager.js","sourceRoot":"","sources":["../../src/scheduler/MultiScheduleManager.ts"],"names":[],"mappings":";;;;;;AAiTA,0DAYC;AA7TD,qCAAiD;AAEjD,8DAAqC;AAGrC,sCAAmC;AAEnC,2CAOqB;AACrB,2CAAiE;AACjE,6DAAiG;AAwBjG,MAAM,kBAAkB;IAKF;IAJZ,MAAM,GAAG,KAAK,CAAC;IACN,UAAU,GAAG,IAAI,GAAG,EAAU,CAAC;IAC/B,KAAK,GAA6E,EAAE,CAAC;IAEtG,YAAoB,UAAkB;QAAlB,eAAU,GAAV,UAAU,CAAQ;IAAG,CAAC;IAEnC,aAAa,CAAC,UAAkB;QACrC,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC;IAC5C,CAAC;IAEM,OAAO,CAAC,UAAkB;QAC/B,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;YACjB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;YACnB,OAAO,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC;QAC7C,CAAC;QAED,2EAA2E;QAC3E,0EAA0E;QAC1E,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YAC5E,OAAO,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAC/B,CAAC;QAED,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QAChC,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;YAC7B,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,UAAU,EAAE,OAAO,EAAE,CAAC,CAAC;QAC3C,CAAC,CAAC,CAAC;IACL,CAAC;IAEO,WAAW;QACjB,IAAI,QAAQ,GAAG,KAAK,CAAC;QACrB,OAAO;YACL,OAAO,EAAE,GAAG,EAAE;gBACZ,IAAI,QAAQ;oBAAE,OAAO;gBACrB,QAAQ,GAAG,IAAI,CAAC;gBAChB,IAAI,CAAC,WAAW,EAAE,CAAC;YACrB,CAAC;SACF,CAAC;IACJ,CAAC;IAEO,WAAW;QACjB,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;QAChC,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;YACpB,OAAO;QACT,CAAC;QAED,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QACxC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC;IACnC,CAAC;CACF;AAED;;;;GAIG;AACH,MAAa,oBAAoB;IAQF;IAPrB,UAAU,GAAG,IAAI,GAAG,EAAqB,CAAC;IAC1C,YAAY,CAAoB;IAChC,UAAU,GAAG,CAAC,CAAC;IACf,WAAW,GAA0B,IAAI,CAAC;IAC1C,QAAQ,GAAG,KAAK,CAAC;IACR,SAAS,GAAG,IAAI,kBAAkB,CAAC,CAAC,CAAC,CAAC;IAEvD,YAA6B,OAAoC;QAApC,YAAO,GAAP,OAAO,CAA6B;IAAG,CAAC;IAE9D,KAAK,CAAC,aAAgC;QAC3C,MAAM,MAAM,GAAG,aAAa,IAAI,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC;QAC1D,MAAM,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;QACxC,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC;YACf,MAAM,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,IAAI,2BAA2B,CAAC,CAAC;QAC/D,CAAC;QACD,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;QAC3B,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC;QAC/B,OAAO,MAAM,CAAC;IAChB,CAAC;IAED;;;;;;OAMG;IACK,iBAAiB,CAAC,MAAwB;QAChD,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ;YAAE,OAAO;QACnC,wEAAwE;QACxE,2EAA2E;QAC3E,IAAI,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC;YAAE,OAAO;QACxC,gEAAgE;QAChE,IAAI,MAAM,CAAC,gBAAgB,EAAE,iBAAiB,KAAK,KAAK;YAAE,OAAO;QACjE,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,KAAK,MAAM,IAAI,IAAI,IAAA,4BAAgB,EAAC,MAAM,CAAC,EAAE,CAAC;YAC5C,IAAI,CAAC,IAAI,CAAC,OAAO;gBAAE,SAAS;YAC5B,MAAM,SAAS,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAC/C,IAAI,CAAC,SAAS;gBAAE,SAAS;YACzB,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACnE,IAAI,CAAC,OAAO;gBAAE,SAAS,CAAC,0CAA0C;YAClE,IAAI,CAAC;gBACH,MAAM,QAAQ,GAAG,qBAAU,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,EAAE;oBACrD,WAAW,EAAE,OAAO;oBACpB,EAAE,EAAE,IAAI,CAAC,QAAQ,IAAI,MAAM,CAAC,SAAS,EAAE,QAAQ;iBAChD,CAAC,CAAC;gBACH,MAAM,YAAY,GAAG,QAAQ,CAAC,IAAI,EAAE,CAAC,MAAM,EAAE,CAAC;gBAC9C,IAAI,YAAY,CAAC,OAAO,EAAE,IAAI,GAAG,CAAC,OAAO,EAAE,EAAE,CAAC;oBAC5C,qEAAqE;oBACrE,mEAAmE;oBACnE,+CAA+C;oBAC/C,MAAM,MAAM,GAAG,IAAA,sCAAiB,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,EAAE,EAAE,GAAG,EAAE,aAAa,EAAE,SAAS,EAAE,CAAC,CAAC;oBACxF,eAAM,CAAC,IAAI,CACT,YAAY,IAAI,CAAC,EAAE,mDAAmD;wBACpE,iCAAiC,OAAO,CAAC,WAAW,EAAE,OAAO,YAAY,CAAC,WAAW,EAAE,yBAAyB,CACnH,CAAC;oBACF,SAAS,CAAC,MAAM,CAAC,EAAE,aAAa,EAAE,SAAS,EAAE,IAAI,EAAE,uBAAuB,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;gBACxF,CAAC;YACH,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,eAAM,CAAC,IAAI,CAAC,oCAAoC,EAAE;oBAChD,UAAU,EAAE,IAAI,CAAC,EAAE;oBACnB,IAAI,EAAE,IAAI,CAAC,IAAI;oBACf,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;iBAC9D,CAAC,CAAC;YACL,CAAC;QACH,CAAC;IACH,CAAC;IAEM,MAAM;QACX,IAAI,CAAC;YACH,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC;YAC7C,MAAM,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;YAC5C,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC;YAC/B,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,MAAM,CAAC,CAAC;YAChC,OAAO,MAAM,CAAC;QAChB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,MAAM,GAAuB;gBACjC,EAAE,EAAE,KAAK;gBACT,UAAU,EAAE,IAAI,CAAC,UAAU;gBAC3B,SAAS,EAAE,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC;gBACtC,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;aAC9D,CAAC;YACF,eAAM,CAAC,KAAK,CAAC,uEAAuE,EAAE;gBACpF,UAAU,EAAE,IAAI,CAAC,OAAO,CAAC,UAAU;gBACnC,KAAK,EAAE,MAAM,CAAC,KAAK;aACpB,CAAC,CAAC;YACH,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,MAAM,CAAC,CAAC;YAChC,OAAO,MAAM,CAAC;QAChB,CAAC;IACH,CAAC;IAEO,WAAW,CAAC,MAAwB;QAC1C,MAAM,KAAK,GAAG,IAAA,4BAAgB,EAAC,MAAM,CAAC,CAAC;QACvC,MAAM,YAAY,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC1D,MAAM,UAAU,GAAG,MAAM,CAAC,gBAAgB,EAAE,UAAU,IAAI,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;QAC3F,MAAM,YAAY,GAAG,CAAC,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;QAElD,yEAAyE;QACzE,sEAAsE;QACtE,KAAK,MAAM,SAAS,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE;YAAE,SAAS,CAAC,IAAI,EAAE,CAAC;QACnE,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;QACxB,IAAI,CAAC,YAAY,GAAG,MAAM,CAAC;QAC3B,IAAI,CAAC,UAAU,EAAE,CAAC;QAClB,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC;QACnC,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC;QAEzC,KAAK,MAAM,IAAI,IAAI,YAAY,EAAE,CAAC;YAChC,uEAAuE;YACvE,6DAA6D;YAC7D,MAAM,eAAe,GACnB,IAAI,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,uCAA2B,EAAE,CAAC;YACxF,MAAM,SAAS,GAAG,IAAI,qBAAS,CAC7B,eAAe,EACf,IAAI,CAAC,OAAO,CAAC,QAAQ,EACrB,IAAI,CAAC,OAAO,CAAC,SAAS,EACtB,IAAI,CAAC,EAAE,EACP,IAAI,CAAC,SAAS,EACd,CAAC,OAAO,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC,MAAM,EAAE,IAAI,EAAE,OAAO,CAAC,CAC7D,CAAC;YACF,SAAS,CAAC,YAAY,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,OAA4B,EAAE,EAAE;gBAChF,uEAAuE;gBACvE,uEAAuE;gBACvE,sEAAsE;gBACtE,MAAM,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,EAAE,OAAO,IAAI,EAAE,aAAa,EAAE,MAAM,EAAE,CAAC,CAAC;YACjF,CAAC,CAAC,CAAC;YACH,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,EAAE,SAAS,CAAC,CAAC;QAC1C,CAAC;QAED,MAAM,WAAW,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACxD,eAAM,CAAC,IAAI,CAAC,4CAA4C,EAAE;YACxD,UAAU;YACV,SAAS,EAAE,YAAY,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;gBACrC,EAAE,EAAE,IAAI,CAAC,EAAE;gBACX,IAAI,EAAE,IAAA,4BAAgB,EAAC,IAAI,CAAC;gBAC5B,IAAI,EAAE,IAAI,CAAC,IAAI;gBACf,OAAO,EAAE,IAAI,CAAC,SAAS,EAAE,MAAM,IAAI,KAAK;aACzC,CAAC,CAAC;YACH,UAAU;SACX,CAAC,CAAC;QAEH,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,SAAS,EAAE,WAAW,EAAE,CAAC;IAC1D,CAAC;IAEO,aAAa,CAAC,MAAwB;QAC5C,MAAM,WAAW,GAAG,MAAM,CAAC,gBAAgB,EAAE,WAAW,KAAK,KAAK,CAAC;QACnE,IAAI,CAAC,WAAW,EAAE,CAAC;YACjB,IAAI,IAAI,CAAC,QAAQ;gBAAE,IAAA,qBAAW,EAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;YACxD,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;YACtB,OAAO;QACT,CAAC;QACD,IAAI,IAAI,CAAC,QAAQ;YAAE,OAAO;QAE1B,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;QACrB,IAAA,mBAAS,EAAC,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,EAAE,CAAC,OAAO,EAAE,QAAQ,EAAE,EAAE;YAC9F,IAAI,OAAO,CAAC,OAAO,KAAK,QAAQ,CAAC,OAAO,IAAI,OAAO,CAAC,IAAI,KAAK,QAAQ,CAAC,IAAI;gBAAE,OAAO;YACnF,IAAI,IAAI,CAAC,WAAW;gBAAE,YAAY,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;YACrD,MAAM,UAAU,GAAG,IAAI,CAAC,YAAY,CAAC,gBAAgB,EAAE,gBAAgB,IAAI,GAAG,CAAC;YAC/E,IAAI,CAAC,WAAW,GAAG,UAAU,CAAC,GAAG,EAAE;gBACjC,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;gBACxB,IAAI,CAAC,MAAM,EAAE,CAAC;YAChB,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC,CAAC;YAC9B,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,EAAE,CAAC;QAC7B,CAAC,CAAC,CAAC;IACL,CAAC;IAEM,IAAI;QACT,IAAI,IAAI,CAAC,WAAW;YAAE,YAAY,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QACrD,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;QACxB,IAAI,IAAI,CAAC,QAAQ;YAAE,IAAA,qBAAW,EAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;QACxD,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;QACtB,KAAK,MAAM,SAAS,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE;YAAE,SAAS,CAAC,IAAI,EAAE,CAAC;QACnE,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;IAC1B,CAAC;IAED,gFAAgF;IACzE,cAAc,CAAC,SAA2B,IAAI,CAAC,YAAY;QAChE,OAAO,MAAM,CAAC,gBAAgB,EAAE,IAAI,KAAK,UAAU,CAAC;IACtD,CAAC;IAED;;;;;;OAMG;IACI,eAAe,CAAC,UAAkB,EAAE,OAA4B;QACrE,MAAM,SAAS,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QAClD,IAAI,CAAC,SAAS;YAAE,OAAO,KAAK,CAAC;QAC7B,OAAO,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IACnC,CAAC;IAED,kFAAkF;IAC3E,WAAW;QAChB,OAAO,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC,CAAC;IACrC,CAAC;IAEM,SAAS;QACd,OAAO;YACL,EAAE,EAAE,IAAI;YACR,UAAU,EAAE,IAAI,CAAC,UAAU;YAC3B,SAAS,EAAE,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC;SACvC,CAAC;IACJ,CAAC;CACF;AA7MD,oDA6MC;AAED,kFAAkF;AAClF,SAAgB,uBAAuB,CAAC,CAAqB;IAC3D,OAAO;QACL,MAAM,EAAE,CAAC,CAAC,MAAM;QAChB,UAAU,EAAE,CAAC,CAAC,UAAU;QACxB,YAAY,EAAE,CAAC,CAAC,YAAY,CAAC,OAAO,EAAE;QACtC,cAAc,EAAE,CAAC,CAAC,cAAc;QAChC,eAAe,EAAE,CAAC,CAAC,eAAe;QAClC,QAAQ,EAAE,CAAC,CAAC,QAAQ;QACpB,aAAa,EAAE,CAAC,CAAC,aAAa;QAC9B,QAAQ,EAAE,CAAC,CAAC,eAAe;QAC3B,QAAQ,EAAE,CAAC,CAAC,cAAc;KAC3B,CAAC;AACJ,CAAC"}
|
|
1
|
+
{"version":3,"file":"MultiScheduleManager.js","sourceRoot":"","sources":["../../src/scheduler/MultiScheduleManager.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,24 +1,47 @@
|
|
|
1
1
|
import { SlotContext } from './SlotCoordinator';
|
|
2
2
|
import { TriggerSource } from './OccurrenceResolver';
|
|
3
3
|
/**
|
|
4
|
-
* Authenticated HTTP schedule trigger.
|
|
4
|
+
* Authenticated HTTP schedule trigger — a DISPATCH endpoint, not a run endpoint.
|
|
5
5
|
*
|
|
6
6
|
* A dumb external clock (Cloudflare cron worker, cron-job.org, GitHub Actions)
|
|
7
|
-
* POSTs a schedule id; this server
|
|
8
|
-
*
|
|
9
|
-
*
|
|
10
|
-
*
|
|
11
|
-
*
|
|
12
|
-
*
|
|
13
|
-
*
|
|
14
|
-
*
|
|
7
|
+
* POSTs a schedule id; this server verifies a bearer token, resolves the
|
|
8
|
+
* canonical occurrence from the schedule's OWN cron + timezone (never a
|
|
9
|
+
* client-supplied date), durably records the slot and returns immediately with a
|
|
10
|
+
* business disposition. Execution happens in the in-process scheduler behind a
|
|
11
|
+
* short renewable lease, so the response no longer has to stay open for the
|
|
12
|
+
* whole 10-40 minute run.
|
|
13
|
+
*
|
|
14
|
+
* That distinction matters: holding the request open assumed the connection was
|
|
15
|
+
* an activity lease, but a 10-40 min run cannot survive the router/proxy/client
|
|
16
|
+
* timeouts that assumption ignored, and a run that outlived them was frozen or
|
|
17
|
+
* reported as failed while work was still owed. Durable state plus a background
|
|
18
|
+
* worker means a dropped connection is now recoverable instead of fatal.
|
|
19
|
+
*
|
|
20
|
+
* All business state lives in the Slot ledger; the handler only authenticates,
|
|
21
|
+
* validates, resolves and delegates. It never queries Pixiv, loops targets, or
|
|
22
|
+
* touches the Slot DB itself.
|
|
15
23
|
*
|
|
16
24
|
* Mounting is independent of `schedulerRuntime.mode`: external mode mounts it as
|
|
17
25
|
* the primary clock; always-on/internal mode may also mount it for manual ops.
|
|
18
26
|
*/
|
|
27
|
+
/**
|
|
28
|
+
* What the trigger adapter actually did with the request. This is the contract
|
|
29
|
+
* an external clock must judge, because HTTP status alone cannot distinguish
|
|
30
|
+
* "the run was admitted and is executing" from "the occurrence is finished".
|
|
31
|
+
*/
|
|
32
|
+
export type TriggerDisposition =
|
|
33
|
+
/** Accepted now; the slot is durably recorded and executes in the background. */
|
|
34
|
+
'accepted'
|
|
35
|
+
/** Another worker owns the slot; this trigger converged onto it. */
|
|
36
|
+
| 'already_running'
|
|
37
|
+
/** The occurrence reached a terminal state (success/partial) earlier. */
|
|
38
|
+
| 'already_completed'
|
|
39
|
+
/** Not admitted (unknown/disabled schedule, budget exhausted, bad state). */
|
|
40
|
+
| 'rejected';
|
|
19
41
|
export interface TriggerRunResult {
|
|
20
42
|
scheduleId: string;
|
|
21
43
|
slotId: string;
|
|
44
|
+
disposition: TriggerDisposition;
|
|
22
45
|
status: string;
|
|
23
46
|
alreadyCompleted?: boolean;
|
|
24
47
|
cells?: Array<{
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ScheduleTriggerServer.d.ts","sourceRoot":"","sources":["../../src/scheduler/ScheduleTriggerServer.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAErD
|
|
1
|
+
{"version":3,"file":"ScheduleTriggerServer.d.ts","sourceRoot":"","sources":["../../src/scheduler/ScheduleTriggerServer.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAErD;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH;;;;GAIG;AACH,MAAM,MAAM,kBAAkB;AAC5B,iFAAiF;AAC/E,UAAU;AACZ,oEAAoE;GAClE,iBAAiB;AACnB,yEAAyE;GACvE,mBAAmB;AACrB,6EAA6E;GAC3E,UAAU,CAAC;AAEf,MAAM,WAAW,gBAAgB;IAC/B,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,kBAAkB,CAAC;IAChC,MAAM,EAAE,MAAM,CAAC;IACf,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,KAAK,CAAC,EAAE,KAAK,CAAC;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,CAAC,CAAC;CACnG;AAED,MAAM,WAAW,eAAe;IAC9B,+DAA+D;IAC/D,aAAa,IAAI,MAAM,EAAE,CAAC;IAC1B;;;OAGG;IACH,OAAO,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,aAAa,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,CAAC,EAAE,MAAM,GACvE;QAAE,OAAO,EAAE,WAAW,CAAA;KAAE,GACxB;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IACtC,8DAA8D;IAC9D,GAAG,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAAC;IACzE,uEAAuE;IACvE,MAAM,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC;IACpC,kFAAkF;IAClF,WAAW,CAAC,IAAI,OAAO,CAAC;QAAE,SAAS,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CACjG;AAED,qBAAa,qBAAqB;IAI9B,OAAO,CAAC,QAAQ,CAAC,KAAK;IACtB,OAAO,CAAC,QAAQ,CAAC,QAAQ;IAJ3B,OAAO,CAAC,MAAM,CAAuB;gBAGlB,KAAK,EAAE,MAAM,GAAG,SAAS,EACzB,QAAQ,EAAE,eAAe;IAG5C,8EAA8E;IAC9E,MAAM,CAAC,YAAY,CAAC,UAAU,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS;IAI5D,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI;IAoGvC,OAAO,CAAC,IAAI,CAsBV;IAEF,IAAI,IAAI,IAAI;CAIb"}
|