@aalis/plugin-cron-engine 0.5.1 → 0.6.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.map +1 -1
- package/dist/index.js +64 -15
- package/dist/index.js.map +1 -1
- package/package.json +3 -3
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAmBA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAG3C,eAAO,MAAM,IAAI,8BAA8B,CAAC;AAChD,eAAO,MAAM,WAAW,kCAAc,CAAC;AACvC,eAAO,MAAM,SAAS,cAAc,CAAC;AACrC,eAAO,MAAM,QAAQ,UAAkB,CAAC;AAuBxC,wBAAgB,KAAK,CAAC,GAAG,EAAE,OAAO,GAAG,IAAI,CAsJxC"}
|
package/dist/index.js
CHANGED
|
@@ -6,6 +6,13 @@
|
|
|
6
6
|
// - 统一处理 cron / 别名 / @every interval 三种表达式
|
|
7
7
|
// - 失败的 handler 仅记录日志、不影响其他订阅者
|
|
8
8
|
//
|
|
9
|
+
// tick 语义(漂移与休眠):每轮按「下一个整分钟边界」重排一次 setTimeout,
|
|
10
|
+
// 不用 setInterval(其误差会累积,攒够一分钟就整分钟丢触发)。每轮记下已跑过的
|
|
11
|
+
// 整分钟 lastTickMinute,下一轮把 (lastTickMinute, 当前整分钟] 之间的每个整分钟
|
|
12
|
+
// 各求值一遍,所以定时器晚到(事件循环阻塞、机器休眠唤醒)不丢分钟。
|
|
13
|
+
// 落后超过 MAX_CATCHUP_MINUTES 分钟时只回补最近这几分钟,其余分钟明确跳过并 warn 一次
|
|
14
|
+
// ——合盖一夜醒来不该把几百分钟的任务一次性全轰出去。
|
|
15
|
+
//
|
|
9
16
|
// 由 scheduler / workflow 等上层插件 inject.required 后调用 subscribe()。
|
|
10
17
|
// ============================================================
|
|
11
18
|
import { matchesCron, normalizeCronExpr, validateCronExpr } from '@aalis/util-cron';
|
|
@@ -13,30 +20,66 @@ export const name = '@aalis/plugin-cron-engine';
|
|
|
13
20
|
export const displayName = 'Cron 调度引擎';
|
|
14
21
|
export const subsystem = 'scheduler';
|
|
15
22
|
export const provides = ['cron-engine'];
|
|
23
|
+
const MINUTE_MS = 60_000;
|
|
24
|
+
/** 单轮最多回补的整分钟数;超出的分钟明确跳过(并 warn),不做无上限追赶 */
|
|
25
|
+
const MAX_CATCHUP_MINUTES = 5;
|
|
26
|
+
/** epoch 毫秒向下取整到整分钟(epoch 原点即整分钟,直接取模) */
|
|
27
|
+
function floorToMinute(ms) {
|
|
28
|
+
return ms - (ms % MINUTE_MS);
|
|
29
|
+
}
|
|
16
30
|
export function apply(ctx) {
|
|
17
31
|
const logger = ctx.logger;
|
|
18
32
|
const cronSubs = new Map();
|
|
19
33
|
const intervalSubs = new Map();
|
|
20
34
|
let nextId = 1;
|
|
21
35
|
let tickTimer = null;
|
|
22
|
-
|
|
36
|
+
/** 已 dispose:卸载后仍被握着的陈旧服务引用再 subscribe 时,不得再建任何定时器(tick 循环与 interval 都算) */
|
|
37
|
+
let stopped = false;
|
|
38
|
+
/** 已求值过的最后一个整分钟(epoch ms);0 = 主循环还没跑过任何一分钟 */
|
|
39
|
+
let lastTickMinute = 0;
|
|
23
40
|
function ensureCronLoop() {
|
|
24
|
-
if (tickTimer
|
|
41
|
+
if (tickTimer)
|
|
25
42
|
return;
|
|
26
|
-
|
|
27
|
-
const msToNextMinute = (60 - now.getSeconds()) * 1000 - now.getMilliseconds();
|
|
28
|
-
alignTimer = setTimeout(() => {
|
|
29
|
-
alignTimer = null;
|
|
30
|
-
cronTick();
|
|
31
|
-
tickTimer = setInterval(cronTick, 60_000);
|
|
32
|
-
}, msToNextMinute);
|
|
43
|
+
scheduleNextTick();
|
|
33
44
|
logger.debug('cron-engine 主循环已对齐启动');
|
|
34
45
|
}
|
|
46
|
+
/** 把下一轮 tick 排到下一个整分钟边界(多 20ms 余量,避免边界前一毫秒醒来空转一轮) */
|
|
47
|
+
function scheduleNextTick() {
|
|
48
|
+
if (stopped)
|
|
49
|
+
return;
|
|
50
|
+
if (tickTimer)
|
|
51
|
+
return;
|
|
52
|
+
const now = Date.now();
|
|
53
|
+
tickTimer = setTimeout(cronTick, floorToMinute(now) + MINUTE_MS - now + 20);
|
|
54
|
+
}
|
|
35
55
|
function cronTick() {
|
|
36
|
-
|
|
37
|
-
now
|
|
56
|
+
tickTimer = null;
|
|
57
|
+
const current = floorToMinute(Date.now());
|
|
58
|
+
// 首轮不回补进程启动之前的分钟:只求值当前这一分钟
|
|
59
|
+
if (lastTickMinute === 0)
|
|
60
|
+
lastTickMinute = current - MINUTE_MS;
|
|
61
|
+
// 墙钟被向后拨(NTP 校正 / 手动改表):lastTickMinute 会停在未来,
|
|
62
|
+
// 不重锚就会一直静默不触发,直到墙钟追回来
|
|
63
|
+
if (current < lastTickMinute) {
|
|
64
|
+
logger.warn('检测到墙钟回拨,按当前时刻重锚,回拨跨过的分钟不补跑');
|
|
65
|
+
lastTickMinute = current - MINUTE_MS;
|
|
66
|
+
}
|
|
67
|
+
if (current > lastTickMinute) {
|
|
68
|
+
const pending = (current - lastTickMinute) / MINUTE_MS;
|
|
69
|
+
if (pending > MAX_CATCHUP_MINUTES) {
|
|
70
|
+
logger.warn(`cron-engine 落后 ${pending} 分钟(事件循环阻塞或机器休眠),只回补最近 ${MAX_CATCHUP_MINUTES} 分钟,跳过 ${pending - MAX_CATCHUP_MINUTES} 分钟`);
|
|
71
|
+
lastTickMinute = current - MAX_CATCHUP_MINUTES * MINUTE_MS;
|
|
72
|
+
}
|
|
73
|
+
for (let m = lastTickMinute + MINUTE_MS; m <= current; m += MINUTE_MS)
|
|
74
|
+
runMinute(new Date(m));
|
|
75
|
+
lastTickMinute = current;
|
|
76
|
+
}
|
|
77
|
+
scheduleNextTick();
|
|
78
|
+
}
|
|
79
|
+
/** 对某个整分钟求值一遍所有 cron 订阅 */
|
|
80
|
+
function runMinute(minute) {
|
|
38
81
|
for (const sub of cronSubs.values()) {
|
|
39
|
-
if (matchesCron(sub.normalized,
|
|
82
|
+
if (matchesCron(sub.normalized, minute, sub.timeZone)) {
|
|
40
83
|
try {
|
|
41
84
|
const r = sub.handler();
|
|
42
85
|
if (r instanceof Promise) {
|
|
@@ -54,6 +97,12 @@ export function apply(ctx) {
|
|
|
54
97
|
const v = validateCronExpr(expr);
|
|
55
98
|
if (!v.ok)
|
|
56
99
|
throw new Error(v.reason);
|
|
100
|
+
// 卸载后仍被握着的陈旧服务引用:cron 与 interval 两条通道一律不再建定时器
|
|
101
|
+
// (interval 分支建出的 setInterval 没有任何东西会再清它,会越过卸载一直活着)
|
|
102
|
+
if (stopped) {
|
|
103
|
+
logger.warn('cron-engine 已卸载,忽略迟到的 subscribe');
|
|
104
|
+
return () => { };
|
|
105
|
+
}
|
|
57
106
|
const id = nextId++;
|
|
58
107
|
if (v.kind === 'interval') {
|
|
59
108
|
const ms = (v.intervalSeconds ?? 0) * 1000;
|
|
@@ -121,10 +170,10 @@ export function apply(ctx) {
|
|
|
121
170
|
};
|
|
122
171
|
ctx.provide('cron-engine', service);
|
|
123
172
|
ctx.onDispose(() => {
|
|
173
|
+
stopped = true;
|
|
124
174
|
if (tickTimer)
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
clearTimeout(alignTimer);
|
|
175
|
+
clearTimeout(tickTimer);
|
|
176
|
+
tickTimer = null;
|
|
128
177
|
for (const s of intervalSubs.values())
|
|
129
178
|
clearInterval(s.timer);
|
|
130
179
|
cronSubs.clear();
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,+DAA+D;AAC/D,2CAA2C;AAC3C,EAAE;AACF,uBAAuB;AACvB,8CAA8C;AAC9C,6CAA6C;AAC7C,iCAAiC;AACjC,EAAE;AACF,gEAAgE;AAChE,+DAA+D;AAI/D,OAAO,EAAE,WAAW,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAEpF,MAAM,CAAC,MAAM,IAAI,GAAG,2BAA2B,CAAC;AAChD,MAAM,CAAC,MAAM,WAAW,GAAG,WAAW,CAAC;AACvC,MAAM,CAAC,MAAM,SAAS,GAAG,WAAW,CAAC;AACrC,MAAM,CAAC,MAAM,QAAQ,GAAG,CAAC,aAAa,CAAC,CAAC;AAexC,MAAM,UAAU,KAAK,CAAC,GAAY;IAChC,MAAM,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC;IAC1B,MAAM,QAAQ,GAAG,IAAI,GAAG,EAA4B,CAAC;IACrD,MAAM,YAAY,GAAG,IAAI,GAAG,EAAgC,CAAC;IAC7D,IAAI,MAAM,GAAG,CAAC,CAAC;IACf,IAAI,SAAS,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@aalis/plugin-cron-engine",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.6.0",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -29,8 +29,8 @@
|
|
|
29
29
|
"devDependencies": {
|
|
30
30
|
"@types/node": "^22.0.0",
|
|
31
31
|
"typescript": "^5.7.0",
|
|
32
|
-
"@aalis/
|
|
33
|
-
"@aalis/
|
|
32
|
+
"@aalis/core": "0.12.1",
|
|
33
|
+
"@aalis/api-cron-engine": "0.5.1"
|
|
34
34
|
},
|
|
35
35
|
"peerDependencies": {
|
|
36
36
|
"@aalis/core": ">=0.2.0 <1.0.0"
|