@mono-agent/cron-adapter 0.3.0 → 0.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js.map +1 -1
- package/dist/scheduler.d.ts +40 -0
- package/dist/scheduler.d.ts.map +1 -1
- package/dist/scheduler.js +144 -16
- package/dist/scheduler.js.map +1 -1
- package/package.json +3 -3
package/dist/index.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
export { CronAdapterError, startCronAdapter, } from "./scheduler.js";
|
|
2
|
-
export type { CronAdapterErrorCode, CronAdapterErrorDetails, CronAdapterLogger, CronAdapterOptions, CronAdapterStartResult, CronJob, CronJobResult, CronRequestMetadata, } from "./scheduler.js";
|
|
2
|
+
export type { CronAdapterErrorCode, CronAdapterErrorDetails, CronAdapterLogger, CronAdapterOptions, CronAdapterStartResult, CronJob, CronJobResult, CronOverflowPolicy, CronOverlapMode, CronRequestMetadata, } from "./scheduler.js";
|
|
3
3
|
export { cronFieldGroup, loadCronAdapterConfig, redactCronAdapterConfig, toCronJobs, } from "./config.js";
|
|
4
4
|
export type { CronAdapterConfig, CronJobConfig, LoadCronAdapterConfigInput, RedactedCronAdapterConfig, } from "./config.js";
|
|
5
5
|
export { loadCronJobsFromDirectory, parseCronJobMarkdown, } from "./jobs-dir.js";
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,gBAAgB,EAChB,gBAAgB,GACjB,MAAM,gBAAgB,CAAC;AACxB,YAAY,EACV,oBAAoB,EACpB,uBAAuB,EACvB,iBAAiB,EACjB,kBAAkB,EAClB,sBAAsB,EACtB,OAAO,EACP,aAAa,EACb,mBAAmB,GACpB,MAAM,gBAAgB,CAAC;AAExB,OAAO,EACL,cAAc,EACd,qBAAqB,EACrB,uBAAuB,EACvB,UAAU,GACX,MAAM,aAAa,CAAC;AACrB,YAAY,EACV,iBAAiB,EACjB,aAAa,EACb,0BAA0B,EAC1B,yBAAyB,GAC1B,MAAM,aAAa,CAAC;AAErB,OAAO,EACL,yBAAyB,EACzB,oBAAoB,GACrB,MAAM,eAAe,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,gBAAgB,EAChB,gBAAgB,GACjB,MAAM,gBAAgB,CAAC;AACxB,YAAY,EACV,oBAAoB,EACpB,uBAAuB,EACvB,iBAAiB,EACjB,kBAAkB,EAClB,sBAAsB,EACtB,OAAO,EACP,aAAa,EACb,kBAAkB,EAClB,eAAe,EACf,mBAAmB,GACpB,MAAM,gBAAgB,CAAC;AAExB,OAAO,EACL,cAAc,EACd,qBAAqB,EACrB,uBAAuB,EACvB,UAAU,GACX,MAAM,aAAa,CAAC;AACrB,YAAY,EACV,iBAAiB,EACjB,aAAa,EACb,0BAA0B,EAC1B,yBAAyB,GAC1B,MAAM,aAAa,CAAC;AAErB,OAAO,EACL,yBAAyB,EACzB,oBAAoB,GACrB,MAAM,eAAe,CAAC"}
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,gBAAgB,EAChB,gBAAgB,GACjB,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,gBAAgB,EAChB,gBAAgB,GACjB,MAAM,gBAAgB,CAAC;AAcxB,OAAO,EACL,cAAc,EACd,qBAAqB,EACrB,uBAAuB,EACvB,UAAU,GACX,MAAM,aAAa,CAAC;AAQrB,OAAO,EACL,yBAAyB,EACzB,oBAAoB,GACrB,MAAM,eAAe,CAAC"}
|
package/dist/scheduler.d.ts
CHANGED
|
@@ -13,6 +13,15 @@ export interface CronJob {
|
|
|
13
13
|
readonly prompt: string;
|
|
14
14
|
readonly conversationId?: string;
|
|
15
15
|
}
|
|
16
|
+
/**
|
|
17
|
+
* Overlap policy when a job fires while a prior run is still active.
|
|
18
|
+
* - "skip" (default): drop the new firing (legacy behavior).
|
|
19
|
+
* - "queue": preserve the firing and run it after the current one.
|
|
20
|
+
* - "replace": abort the active run and run the newest firing instead.
|
|
21
|
+
*/
|
|
22
|
+
export type CronOverlapMode = "queue" | "skip" | "replace";
|
|
23
|
+
/** What to do when a job's queue exceeds maxQueueDepth (overlap:"queue"). */
|
|
24
|
+
export type CronOverflowPolicy = "preserve" | "coalesce" | "drop-oldest";
|
|
16
25
|
export type CronJobResult = {
|
|
17
26
|
readonly kind: "succeeded";
|
|
18
27
|
readonly jobId: string;
|
|
@@ -33,6 +42,16 @@ export type CronJobResult = {
|
|
|
33
42
|
readonly jobId: string;
|
|
34
43
|
readonly scheduledAt: string;
|
|
35
44
|
readonly reason: "overlap";
|
|
45
|
+
} | {
|
|
46
|
+
readonly kind: "queued";
|
|
47
|
+
readonly jobId: string;
|
|
48
|
+
readonly scheduledAt: string;
|
|
49
|
+
readonly queueDepth: number;
|
|
50
|
+
} | {
|
|
51
|
+
readonly kind: "dropped";
|
|
52
|
+
readonly jobId: string;
|
|
53
|
+
readonly scheduledAt: string;
|
|
54
|
+
readonly reason: "overflow";
|
|
36
55
|
};
|
|
37
56
|
export interface CronAdapterLogger {
|
|
38
57
|
debug?(message: string, metadata?: Record<string, unknown>): void;
|
|
@@ -46,6 +65,12 @@ export interface CronAdapterOptions {
|
|
|
46
65
|
readonly now?: () => Date;
|
|
47
66
|
readonly onResult?: (result: CronJobResult) => void | Promise<void>;
|
|
48
67
|
readonly logger?: CronAdapterLogger;
|
|
68
|
+
/** Overlap policy for a job that fires while still running. Default "skip". */
|
|
69
|
+
readonly overlap?: CronOverlapMode;
|
|
70
|
+
/** Soft cap on a job's pending-firing queue (overlap:"queue"). Unbounded if unset. */
|
|
71
|
+
readonly maxQueueDepth?: number;
|
|
72
|
+
/** What to do past maxQueueDepth. Default "preserve" (keep all, warn). */
|
|
73
|
+
readonly overflow?: CronOverflowPolicy;
|
|
49
74
|
}
|
|
50
75
|
export interface CronAdapterStartResult {
|
|
51
76
|
readonly jobs: readonly CronJob[];
|
|
@@ -63,5 +88,20 @@ export declare class CronAdapterError extends Error {
|
|
|
63
88
|
readonly details: CronAdapterErrorDetails;
|
|
64
89
|
constructor(code: CronAdapterErrorCode, message: string, details?: CronAdapterErrorDetails);
|
|
65
90
|
}
|
|
91
|
+
interface PendingFiring {
|
|
92
|
+
readonly scheduledAt: string;
|
|
93
|
+
}
|
|
94
|
+
interface JobRuntimeState {
|
|
95
|
+
active: AbortController | undefined;
|
|
96
|
+
pending: PendingFiring[];
|
|
97
|
+
}
|
|
66
98
|
export declare function startCronAdapter(options: CronAdapterOptions): CronAdapterStartResult;
|
|
99
|
+
/**
|
|
100
|
+
* Internal: dispatch a single firing for a job, honoring the overlap policy.
|
|
101
|
+
* Exported (but not re-exported from the package index) so the overlap
|
|
102
|
+
* defense-in-depth fallback can be regression-tested directly, bypassing the
|
|
103
|
+
* startup `validateOptions` gate that rejects invalid overlap values.
|
|
104
|
+
*/
|
|
105
|
+
export declare function handleTick(job: CronJob, scheduledAtDate: Date, options: CronAdapterOptions, jobStates: Map<string, JobRuntimeState>): void;
|
|
106
|
+
export {};
|
|
67
107
|
//# 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":"AAEA,OAAO,EAGL,KAAK,kBAAkB,EACvB,KAAK,gBAAgB,EACrB,KAAK,cAAc,EACnB,KAAK,aAAa,EACnB,MAAM,6BAA6B,CAAC;AAGrC,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;CAC5B;AAED,MAAM,WAAW,OAAO;IACtB,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,CAAC;CAClC;AAED,MAAM,MAAM,aAAa,GACrB;IACE,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC;IAC3B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAC7C,GACD;IACE,QAAQ,CAAC,IAAI,EAAE,QAAQ,GAAG,WAAW,CAAC;IACtC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;CACxB,GACD;IACE,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC;IACzB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,MAAM,EAAE,SAAS,CAAC;CAC5B,CAAC;AAEN,MAAM,WAAW,iBAAiB;IAChC,KAAK,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;IAClE,IAAI,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;IACjE,IAAI,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;IACjE,KAAK,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;CACnE;AAED,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,SAAS,EAAE,cAAc,CAAC,gBAAgB,EAAE,kBAAkB,EAAE,aAAa,CAAC,CAAC;IACxF,QAAQ,CAAC,IAAI,EAAE,SAAS,OAAO,EAAE,CAAC;IAClC,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,IAAI,CAAC;IAC1B,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE,aAAa,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACpE,QAAQ,CAAC,MAAM,CAAC,EAAE,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"scheduler.d.ts","sourceRoot":"","sources":["../src/scheduler.ts"],"names":[],"mappings":"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"}
|
package/dist/scheduler.js
CHANGED
|
@@ -15,15 +15,20 @@ const DEFAULT_TIMEZONE = "UTC";
|
|
|
15
15
|
const MAX_TIMEOUT_MS = 2_147_483_647;
|
|
16
16
|
export function startCronAdapter(options) {
|
|
17
17
|
validateOptions(options);
|
|
18
|
-
const
|
|
18
|
+
const jobStates = new Map();
|
|
19
19
|
const scheduled = options.jobs.map((job) => ({ job, timer: undefined }));
|
|
20
20
|
for (const entry of scheduled) {
|
|
21
|
-
scheduleNext(entry, options,
|
|
21
|
+
scheduleNext(entry, options, jobStates);
|
|
22
22
|
}
|
|
23
23
|
return {
|
|
24
24
|
jobs: options.jobs.slice(),
|
|
25
25
|
get activeJobCount() {
|
|
26
|
-
|
|
26
|
+
let count = 0;
|
|
27
|
+
for (const state of jobStates.values()) {
|
|
28
|
+
if (state.active !== undefined)
|
|
29
|
+
count += 1;
|
|
30
|
+
}
|
|
31
|
+
return count;
|
|
27
32
|
},
|
|
28
33
|
stop() {
|
|
29
34
|
for (const entry of scheduled) {
|
|
@@ -32,37 +37,119 @@ export function startCronAdapter(options) {
|
|
|
32
37
|
entry.timer = undefined;
|
|
33
38
|
}
|
|
34
39
|
}
|
|
35
|
-
for (const
|
|
36
|
-
|
|
40
|
+
for (const state of jobStates.values()) {
|
|
41
|
+
state.pending.length = 0;
|
|
42
|
+
state.active?.abort(new Error("Cron adapter stopped."));
|
|
37
43
|
}
|
|
38
|
-
|
|
44
|
+
jobStates.clear();
|
|
39
45
|
},
|
|
40
46
|
};
|
|
41
47
|
}
|
|
42
|
-
function scheduleNext(entry, options,
|
|
48
|
+
function scheduleNext(entry, options, jobStates) {
|
|
43
49
|
const now = options.now?.() ?? new Date();
|
|
44
50
|
const scheduledAt = nextDateFor(entry.job, now);
|
|
45
51
|
const delayMs = Math.max(0, scheduledAt.getTime() - now.getTime());
|
|
46
52
|
entry.timer = setTimeout(() => {
|
|
47
53
|
entry.timer = undefined;
|
|
48
54
|
if (delayMs > MAX_TIMEOUT_MS) {
|
|
49
|
-
scheduleNext(entry, options,
|
|
55
|
+
scheduleNext(entry, options, jobStates);
|
|
50
56
|
return;
|
|
51
57
|
}
|
|
52
|
-
handleTick(entry.job, scheduledAt, options,
|
|
53
|
-
scheduleNext(entry, options,
|
|
58
|
+
handleTick(entry.job, scheduledAt, options, jobStates);
|
|
59
|
+
scheduleNext(entry, options, jobStates);
|
|
54
60
|
}, Math.min(delayMs, MAX_TIMEOUT_MS));
|
|
55
61
|
}
|
|
56
|
-
function
|
|
62
|
+
function ensureState(jobStates, jobId) {
|
|
63
|
+
let state = jobStates.get(jobId);
|
|
64
|
+
if (state === undefined) {
|
|
65
|
+
state = { active: undefined, pending: [] };
|
|
66
|
+
jobStates.set(jobId, state);
|
|
67
|
+
}
|
|
68
|
+
return state;
|
|
69
|
+
}
|
|
70
|
+
/**
|
|
71
|
+
* Internal: dispatch a single firing for a job, honoring the overlap policy.
|
|
72
|
+
* Exported (but not re-exported from the package index) so the overlap
|
|
73
|
+
* defense-in-depth fallback can be regression-tested directly, bypassing the
|
|
74
|
+
* startup `validateOptions` gate that rejects invalid overlap values.
|
|
75
|
+
*/
|
|
76
|
+
export function handleTick(job, scheduledAtDate, options, jobStates) {
|
|
57
77
|
const scheduledAt = scheduledAtDate.toISOString();
|
|
58
|
-
|
|
59
|
-
|
|
78
|
+
const state = ensureState(jobStates, job.id);
|
|
79
|
+
// No run in flight for this job: start immediately. Distinct jobs always run
|
|
80
|
+
// in parallel because each has its own state.
|
|
81
|
+
if (state.active === undefined) {
|
|
82
|
+
startRun(job, scheduledAt, options, jobStates, state);
|
|
83
|
+
return;
|
|
84
|
+
}
|
|
85
|
+
// Default to "skip" (the documented/legacy behavior): an overlapping firing is
|
|
86
|
+
// dropped while a prior run is active. "queue"/"replace" are opt-in; "queue"
|
|
87
|
+
// should be paired with maxQueueDepth to bound memory.
|
|
88
|
+
const mode = options.overlap ?? "skip";
|
|
89
|
+
if (mode === "skip") {
|
|
60
90
|
options.logger?.warn?.("Cron job skipped because a prior run is still active.", { jobId: job.id, scheduledAt });
|
|
61
|
-
void emitResult(options,
|
|
91
|
+
void emitResult(options, { kind: "skipped", jobId: job.id, scheduledAt, reason: "overlap" });
|
|
92
|
+
return;
|
|
93
|
+
}
|
|
94
|
+
if (mode === "replace") {
|
|
95
|
+
// Discard pending + the in-flight run; the newest firing wins. Emit a
|
|
96
|
+
// terminal "dropped" for every firing we discard so a previously-reported
|
|
97
|
+
// kind:"queued" never becomes a dangling firing with no terminal — mirroring
|
|
98
|
+
// the queue branch's drop-oldest/coalesce observability below.
|
|
99
|
+
for (const dropped of state.pending) {
|
|
100
|
+
void emitResult(options, { kind: "dropped", jobId: job.id, scheduledAt: dropped.scheduledAt, reason: "overflow" });
|
|
101
|
+
}
|
|
102
|
+
state.pending = [{ scheduledAt }];
|
|
103
|
+
state.active.abort(new Error("Cron job replaced by a newer scheduled run."));
|
|
104
|
+
void emitResult(options, { kind: "queued", jobId: job.id, scheduledAt, queueDepth: state.pending.length });
|
|
105
|
+
return;
|
|
106
|
+
}
|
|
107
|
+
// "queue" (opt-in): preserve every firing, drained in order after the active
|
|
108
|
+
// run finishes. Bound it with maxQueueDepth + overflow to limit memory.
|
|
109
|
+
if (mode === "queue") {
|
|
110
|
+
state.pending.push({ scheduledAt });
|
|
111
|
+
const max = options.maxQueueDepth;
|
|
112
|
+
if (max !== undefined && max >= 0 && state.pending.length > max) {
|
|
113
|
+
const overflow = options.overflow ?? "preserve";
|
|
114
|
+
if (overflow === "drop-oldest") {
|
|
115
|
+
const dropped = state.pending.shift();
|
|
116
|
+
if (dropped !== undefined) {
|
|
117
|
+
options.logger?.warn?.("Cron firing dropped (queue overflow, drop-oldest).", { jobId: job.id, maxQueueDepth: max });
|
|
118
|
+
void emitResult(options, { kind: "dropped", jobId: job.id, scheduledAt: dropped.scheduledAt, reason: "overflow" });
|
|
119
|
+
}
|
|
120
|
+
}
|
|
121
|
+
else if (overflow === "coalesce") {
|
|
122
|
+
const newest = state.pending[state.pending.length - 1];
|
|
123
|
+
const droppedOnes = state.pending.slice(0, -1);
|
|
124
|
+
state.pending = newest === undefined ? [] : [newest];
|
|
125
|
+
for (const dropped of droppedOnes) {
|
|
126
|
+
void emitResult(options, { kind: "dropped", jobId: job.id, scheduledAt: dropped.scheduledAt, reason: "overflow" });
|
|
127
|
+
}
|
|
128
|
+
}
|
|
129
|
+
else {
|
|
130
|
+
// "preserve": keep everything, but surface backpressure (never a silent drop).
|
|
131
|
+
options.logger?.warn?.("Cron queue depth exceeds maxQueueDepth (preserving every firing).", {
|
|
132
|
+
jobId: job.id,
|
|
133
|
+
depth: state.pending.length,
|
|
134
|
+
maxQueueDepth: max,
|
|
135
|
+
});
|
|
136
|
+
}
|
|
137
|
+
}
|
|
138
|
+
void emitResult(options, { kind: "queued", jobId: job.id, scheduledAt, queueDepth: state.pending.length });
|
|
62
139
|
return;
|
|
63
140
|
}
|
|
141
|
+
// Any unrecognized mode (e.g. an invalid value passed via a cast or untyped
|
|
142
|
+
// JS/JSON consumer) defaults to the safe "skip" behavior rather than silently
|
|
143
|
+
// falling through into the unbounded-memory "queue" branch.
|
|
144
|
+
options.logger?.warn?.("Cron overlap mode unrecognized; defaulting to skip.", {
|
|
145
|
+
jobId: job.id,
|
|
146
|
+
overlap: options.overlap,
|
|
147
|
+
});
|
|
148
|
+
void emitResult(options, { kind: "skipped", jobId: job.id, scheduledAt, reason: "overlap" });
|
|
149
|
+
}
|
|
150
|
+
function startRun(job, scheduledAt, options, jobStates, state) {
|
|
64
151
|
const controller = new AbortController();
|
|
65
|
-
|
|
152
|
+
state.active = controller;
|
|
66
153
|
const startedAt = (options.now?.() ?? new Date()).toISOString();
|
|
67
154
|
const stream = new BufferedMessageStream({
|
|
68
155
|
onClosed: () => new CronAdapterError("stream_closed", "Cannot write to a finished cron stream."),
|
|
@@ -84,6 +171,28 @@ function handleTick(job, scheduledAtDate, options, activeJobs) {
|
|
|
84
171
|
void options.responder.respond(request, stream)
|
|
85
172
|
.then(async (response) => {
|
|
86
173
|
await stream.finish(response.text);
|
|
174
|
+
// Guard against a responder that ignores/races the abort signal and still
|
|
175
|
+
// resolves with text: if THIS run's controller was aborted (overlap:"replace"
|
|
176
|
+
// discarding the in-flight run, or stop()), report the run as cancelled
|
|
177
|
+
// rather than succeeded. `controller` is captured per-run, so this keys the
|
|
178
|
+
// abort check to this specific firing (not a newer run's controller). This
|
|
179
|
+
// mirrors the .catch() classification below and LiveSessionManager.drain().
|
|
180
|
+
if (controller.signal.aborted) {
|
|
181
|
+
const result = {
|
|
182
|
+
kind: "cancelled",
|
|
183
|
+
jobId: job.id,
|
|
184
|
+
scheduledAt,
|
|
185
|
+
startedAt,
|
|
186
|
+
completedAt: (options.now?.() ?? new Date()).toISOString(),
|
|
187
|
+
error: "Cron job cancelled (responder resolved after abort).",
|
|
188
|
+
};
|
|
189
|
+
options.logger?.warn?.("Cron job responder resolved after abort; reporting cancelled.", {
|
|
190
|
+
jobId: job.id,
|
|
191
|
+
error: result.error,
|
|
192
|
+
});
|
|
193
|
+
await emitResult(options, result);
|
|
194
|
+
return;
|
|
195
|
+
}
|
|
87
196
|
const result = {
|
|
88
197
|
kind: "succeeded",
|
|
89
198
|
jobId: job.id,
|
|
@@ -112,9 +221,20 @@ function handleTick(job, scheduledAtDate, options, activeJobs) {
|
|
|
112
221
|
await emitResult(options, result);
|
|
113
222
|
})
|
|
114
223
|
.finally(() => {
|
|
115
|
-
|
|
224
|
+
state.active = undefined;
|
|
225
|
+
drainNext(job, options, jobStates, state);
|
|
116
226
|
});
|
|
117
227
|
}
|
|
228
|
+
function drainNext(job, options, jobStates, state) {
|
|
229
|
+
const next = state.pending.shift();
|
|
230
|
+
if (next !== undefined) {
|
|
231
|
+
startRun(job, next.scheduledAt, options, jobStates, state);
|
|
232
|
+
return;
|
|
233
|
+
}
|
|
234
|
+
if (state.active === undefined && state.pending.length === 0) {
|
|
235
|
+
jobStates.delete(job.id);
|
|
236
|
+
}
|
|
237
|
+
}
|
|
118
238
|
async function emitResult(options, result) {
|
|
119
239
|
await options.onResult?.(result);
|
|
120
240
|
}
|
|
@@ -132,10 +252,18 @@ function nextDateFor(job, currentDate) {
|
|
|
132
252
|
});
|
|
133
253
|
}
|
|
134
254
|
}
|
|
255
|
+
const VALID_OVERLAP_MODES = new Set(["queue", "skip", "replace"]);
|
|
256
|
+
const VALID_OVERFLOW_POLICIES = new Set(["preserve", "coalesce", "drop-oldest"]);
|
|
135
257
|
function validateOptions(options) {
|
|
136
258
|
if (typeof options.responder?.respond !== "function") {
|
|
137
259
|
throw new CronAdapterError("invalid_config", "Cron adapter requires a responder.");
|
|
138
260
|
}
|
|
261
|
+
if (options.overlap !== undefined && !VALID_OVERLAP_MODES.has(options.overlap)) {
|
|
262
|
+
throw new CronAdapterError("invalid_config", "Cron overlap mode is invalid.", { overlap: options.overlap });
|
|
263
|
+
}
|
|
264
|
+
if (options.overflow !== undefined && !VALID_OVERFLOW_POLICIES.has(options.overflow)) {
|
|
265
|
+
throw new CronAdapterError("invalid_config", "Cron overflow policy is invalid.", { overflow: options.overflow });
|
|
266
|
+
}
|
|
139
267
|
const seen = new Set();
|
|
140
268
|
for (const job of options.jobs) {
|
|
141
269
|
if (normalizeOptionalString(job.id) === undefined) {
|
package/dist/scheduler.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scheduler.js","sourceRoot":"","sources":["../src/scheduler.ts"],"names":[],"mappings":"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"}
|
|
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": "@mono-agent/cron-adapter",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.4.0",
|
|
4
4
|
"description": "Cron-based scheduled invocation adapter for agent responders.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"license": "UNLICENSED",
|
|
@@ -18,8 +18,8 @@
|
|
|
18
18
|
"README.md"
|
|
19
19
|
],
|
|
20
20
|
"dependencies": {
|
|
21
|
-
"@mono-agent/agent-contracts": "0.
|
|
22
|
-
"@mono-agent/settings": "0.
|
|
21
|
+
"@mono-agent/agent-contracts": "0.4.0",
|
|
22
|
+
"@mono-agent/settings": "0.4.0",
|
|
23
23
|
"cron-parser": "^5.5.0"
|
|
24
24
|
},
|
|
25
25
|
"publishConfig": {
|