pixivflow 2.10.30 → 2.11.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/README.md +17 -15
- package/config/fly-two-bots.example.json +4 -0
- package/dist/commands/SchedulerCommand.d.ts.map +1 -1
- package/dist/commands/SchedulerCommand.js +49 -0
- package/dist/commands/SchedulerCommand.js.map +1 -1
- package/dist/commands/scheduler-runtime.d.ts +2 -1
- package/dist/commands/scheduler-runtime.d.ts.map +1 -1
- package/dist/commands/scheduler-runtime.js +71 -5
- package/dist/commands/scheduler-runtime.js.map +1 -1
- package/dist/config/defaults.d.ts +7 -0
- package/dist/config/defaults.d.ts.map +1 -1
- package/dist/config/defaults.js +7 -0
- package/dist/config/defaults.js.map +1 -1
- package/dist/config/types.d.ts +49 -0
- package/dist/config/types.d.ts.map +1 -1
- package/dist/config/validation.d.ts.map +1 -1
- package/dist/config/validation.js +16 -1
- package/dist/config/validation.js.map +1 -1
- package/dist/delivery/DeliveryOutbox.d.ts +7 -0
- package/dist/delivery/DeliveryOutbox.d.ts.map +1 -1
- package/dist/delivery/DeliveryOutbox.js +12 -0
- package/dist/delivery/DeliveryOutbox.js.map +1 -1
- package/dist/delivery/HttpMultipartDelivery.d.ts.map +1 -1
- package/dist/delivery/HttpMultipartDelivery.js +6 -1
- package/dist/delivery/HttpMultipartDelivery.js.map +1 -1
- package/dist/delivery/types.d.ts +4 -0
- package/dist/delivery/types.d.ts.map +1 -1
- package/dist/download/DownloadManager.d.ts +12 -1
- package/dist/download/DownloadManager.d.ts.map +1 -1
- package/dist/download/DownloadManager.js +15 -0
- package/dist/download/DownloadManager.js.map +1 -1
- package/dist/download/IllustrationDownloader.d.ts +2 -2
- package/dist/download/IllustrationDownloader.d.ts.map +1 -1
- package/dist/download/IllustrationDownloader.js +21 -18
- package/dist/download/IllustrationDownloader.js.map +1 -1
- package/dist/download/UgoiraConverter.d.ts +2 -0
- package/dist/download/UgoiraConverter.d.ts.map +1 -0
- package/dist/download/UgoiraConverter.js +21 -0
- package/dist/download/UgoiraConverter.js.map +1 -0
- package/dist/download/handlers/IllustrationTargetHandler.d.ts.map +1 -1
- package/dist/download/handlers/IllustrationTargetHandler.js +12 -4
- package/dist/download/handlers/IllustrationTargetHandler.js.map +1 -1
- package/dist/download/handlers/NovelTargetHandler.d.ts.map +1 -1
- package/dist/download/handlers/NovelTargetHandler.js +12 -3
- package/dist/download/handlers/NovelTargetHandler.js.map +1 -1
- package/dist/download/pipeline/DownloadPipeline.d.ts +5 -0
- package/dist/download/pipeline/DownloadPipeline.d.ts.map +1 -1
- package/dist/download/pipeline/DownloadPipeline.js +10 -0
- package/dist/download/pipeline/DownloadPipeline.js.map +1 -1
- package/dist/download/ugoira_to_gif.py +65 -0
- package/dist/package.json +1 -1
- package/dist/scheduler/MultiScheduleManager.d.ts +20 -1
- package/dist/scheduler/MultiScheduleManager.d.ts.map +1 -1
- package/dist/scheduler/MultiScheduleManager.js +37 -3
- package/dist/scheduler/MultiScheduleManager.js.map +1 -1
- package/dist/scheduler/ScheduleTriggerServer.d.ts +55 -0
- package/dist/scheduler/ScheduleTriggerServer.d.ts.map +1 -0
- package/dist/scheduler/ScheduleTriggerServer.js +101 -0
- package/dist/scheduler/ScheduleTriggerServer.js.map +1 -0
- package/dist/scheduler/Scheduler.d.ts +12 -3
- package/dist/scheduler/Scheduler.d.ts.map +1 -1
- package/dist/scheduler/Scheduler.js +28 -10
- package/dist/scheduler/Scheduler.js.map +1 -1
- package/dist/scheduler/SlotCoordinator.d.ts +59 -0
- package/dist/scheduler/SlotCoordinator.d.ts.map +1 -0
- package/dist/scheduler/SlotCoordinator.js +150 -0
- package/dist/scheduler/SlotCoordinator.js.map +1 -0
- package/dist/storage/Database.d.ts +4 -0
- package/dist/storage/Database.d.ts.map +1 -1
- package/dist/storage/Database.js +7 -0
- package/dist/storage/Database.js.map +1 -1
- package/dist/storage/DatabaseMigration.d.ts.map +1 -1
- package/dist/storage/DatabaseMigration.js +35 -0
- package/dist/storage/DatabaseMigration.js.map +1 -1
- package/dist/storage/repositories/SlotRepository.d.ts +78 -0
- package/dist/storage/repositories/SlotRepository.d.ts.map +1 -0
- package/dist/storage/repositories/SlotRepository.js +170 -0
- package/dist/storage/repositories/SlotRepository.js.map +1 -0
- package/dist/webui/package.json +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -14,6 +14,8 @@ Pixiv 批量下载与定时收集工具。支持插画和小说的批量下载
|
|
|
14
14
|
## 安装
|
|
15
15
|
|
|
16
16
|
需要 Node.js 22.12 或更高版本;生产环境请使用仍受支持的 LTS。
|
|
17
|
+
下载 Pixiv 动图(ugoira)还需要 `python3` 和 `ffmpeg`:程序按逐帧延迟合成循环 GIF,
|
|
18
|
+
可直接交给 TelePost 作为动画发送。官方 Docker 镜像已包含两者,详见 [配置说明](docs/CONFIG.md#pixiv-动图ugoira)。
|
|
17
19
|
|
|
18
20
|
```bash
|
|
19
21
|
npm install -g pixivflow
|
|
@@ -103,9 +105,13 @@ pixivflow scheduler # 按 cron 配置长期挂机自动收集
|
|
|
103
105
|
|
|
104
106
|
### 本地留存与缓存交付
|
|
105
107
|
|
|
106
|
-
每个 target
|
|
107
|
-
|
|
108
|
-
|
|
108
|
+
每个 target(一个 tag / 计划)有两种保存方式:
|
|
109
|
+
|
|
110
|
+
- **`persistent`(默认)**:下载后永久留在本地。
|
|
111
|
+
- **`cache`**:下载后投给一个「交付目标」(比如投稿机器人),对方确认收到后才删本地文件,省磁盘。
|
|
112
|
+
|
|
113
|
+
「交付目标」就是一段配置:告诉 PixivFlow 把文件 POST 到哪个地址、带哪些字段。
|
|
114
|
+
它不绑定具体服务,可指向任何 HTTP 投稿接口(TelePost、telepress 等)。示例:
|
|
109
115
|
|
|
110
116
|
```json
|
|
111
117
|
{
|
|
@@ -143,20 +149,16 @@ pixivflow scheduler # 按 cron 配置长期挂机自动收集
|
|
|
143
149
|
}
|
|
144
150
|
```
|
|
145
151
|
|
|
146
|
-
headers 和
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
对上面的 TG 示例,可把 `/gen_token` 得到的 `tp_...` 放入
|
|
152
|
-
`TG_SUBMIT_TOKEN` 环境变量;这只是示例服务自己的认证流程。
|
|
152
|
+
`headers` 和 `url` 里可用 `${环境变量名}` 引用环境变量(Token 别写死进配置)。
|
|
153
|
+
|
|
154
|
+
投递是「发件箱」式的,进程重启也不丢:失败的文件和待投清单保存在数据库同级的
|
|
155
|
+
`delivery-outbox/`,下次运行先补投,按「5 分钟起步、最长 6 小时」指数退避重试,
|
|
156
|
+
成功后才清理。「今天没有可投稿内容」这类通知也走同一个 outbox,审核端暂时挂掉也能继续重试。
|
|
153
157
|
|
|
154
|
-
|
|
155
|
-
的 `/publish/gallery`,把插画自动发布成 Telegra.ph
|
|
156
|
-
与来源链接页脚、R-18 提示),见 [CONFIG.md](docs/CONFIG.md) 的「Telegraph
|
|
157
|
-
(telegra.ph)相册上传」一节。
|
|
158
|
+
- 上面的示例是投稿给一个 HTTP 接口:把 `/gen_token` 得到的 `tp_...` 放进 `TG_SUBMIT_TOKEN` 即可(这是示例服务自己的鉴权方式)。
|
|
159
|
+
- 同一目标也可指向 [telepress](https://github.com/redtidev1918/telepress) 的 `/publish/gallery`,把插画自动发布成 Telegra.ph 相册,见 [CONFIG.md](docs/CONFIG.md) 的「Telegraph(telegra.ph)相册上传」。
|
|
158
160
|
|
|
159
|
-
|
|
161
|
+
不想手写配置?运行交互式向导 `pixivflow setup` 一步步生成。
|
|
160
162
|
|
|
161
163
|
## 常用命令
|
|
162
164
|
|
|
@@ -92,6 +92,8 @@
|
|
|
92
92
|
],
|
|
93
93
|
"note": "Pixiv ID: {{pixivId}}",
|
|
94
94
|
"target_id": "{{targetId}}",
|
|
95
|
+
"slot_name": "{{slotName}}",
|
|
96
|
+
"slot_date": "{{slotDate}}",
|
|
95
97
|
"anonymous": true,
|
|
96
98
|
"idempotency_key": "pixiv:bot1:{{type}}:{{pixivId}}"
|
|
97
99
|
},
|
|
@@ -122,6 +124,8 @@
|
|
|
122
124
|
],
|
|
123
125
|
"note": "Pixiv ID: {{pixivId}}",
|
|
124
126
|
"target_id": "{{targetId}}",
|
|
127
|
+
"slot_name": "{{slotName}}",
|
|
128
|
+
"slot_date": "{{slotDate}}",
|
|
125
129
|
"anonymous": true,
|
|
126
130
|
"idempotency_key": "pixiv:bot2:{{type}}:{{pixivId}}"
|
|
127
131
|
},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SchedulerCommand.d.ts","sourceRoot":"","sources":["../../src/commands/SchedulerCommand.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AACxC,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAC7C,OAAO,EAAE,cAAc,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"SchedulerCommand.d.ts","sourceRoot":"","sources":["../../src/commands/SchedulerCommand.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AACxC,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAC7C,OAAO,EAAE,cAAc,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAOrE;;GAEG;AACH,qBAAa,gBAAiB,SAAQ,WAAW;IAC/C,QAAQ,CAAC,IAAI,eAAe;IAC5B,QAAQ,CAAC,WAAW,oDAAoD;IACxE,QAAQ,CAAC,OAAO,EAAE,MAAM,EAAE,CAAS;IACnC,QAAQ,CAAC,QAAQ;;;;MAIf;IAEI,OAAO,CAAC,OAAO,EAAE,cAAc,EAAE,IAAI,EAAE,WAAW,GAAG,OAAO,CAAC,aAAa,CAAC;IA6GjF,OAAO,CAAC,uBAAuB;IAQ/B,QAAQ,IAAI,MAAM;CAYnB"}
|
|
@@ -8,6 +8,8 @@ const Command_1 = require("./Command");
|
|
|
8
8
|
const metadata_1 = require("./metadata");
|
|
9
9
|
const config_1 = require("../config");
|
|
10
10
|
const MultiScheduleManager_1 = require("../scheduler/MultiScheduleManager");
|
|
11
|
+
const ScheduleTriggerServer_1 = require("../scheduler/ScheduleTriggerServer");
|
|
12
|
+
const SlotCoordinator_1 = require("../scheduler/SlotCoordinator");
|
|
11
13
|
const scheduler_runtime_1 = require("./scheduler-runtime");
|
|
12
14
|
/**
|
|
13
15
|
* Scheduler command - Start scheduler (default if enabled in config)
|
|
@@ -45,8 +47,55 @@ class SchedulerCommand extends Command_1.BaseCommand {
|
|
|
45
47
|
},
|
|
46
48
|
});
|
|
47
49
|
const status = manager.start(runtime.config);
|
|
50
|
+
// External mode: expose the authenticated Slot trigger HTTP server. The
|
|
51
|
+
// in-process cron is disabled (manager.init); runs arrive via POST only.
|
|
52
|
+
let triggerServer = null;
|
|
53
|
+
if (manager.isExternalMode(runtime.config)) {
|
|
54
|
+
const rt = runtime.config.schedulerRuntime;
|
|
55
|
+
const coordinator = new SlotCoordinator_1.SlotCoordinator(runtime.database);
|
|
56
|
+
const resolveConfig = () => manager['activeConfig'] ?? runtime.config;
|
|
57
|
+
triggerServer = new ScheduleTriggerServer_1.ScheduleTriggerServer(ScheduleTriggerServer_1.ScheduleTriggerServer.resolveToken(rt.trigger?.token), {
|
|
58
|
+
resolveSlot: (requested) => coordinator.resolveSlot(requested, resolveConfig()),
|
|
59
|
+
runScheduleSlot: async (scheduleId, slotCtx) => {
|
|
60
|
+
const cfg = resolveConfig();
|
|
61
|
+
const plan = cfg.schedules?.find((s) => s.id === scheduleId);
|
|
62
|
+
if (!plan) {
|
|
63
|
+
return { scheduleId, slotId: slotCtx.slotId, status: 'failed', cells: [], alreadyCompleted: false };
|
|
64
|
+
}
|
|
65
|
+
const slot = { ...slotCtx, triggerSource: 'external' };
|
|
66
|
+
const before = coordinator.begin(slot, plan);
|
|
67
|
+
if (before.alreadyCompleted) {
|
|
68
|
+
return coordinator.completedSummary(slot.slotId, plan);
|
|
69
|
+
}
|
|
70
|
+
// runJob performs begin/pendingTargets/finish against the ledger.
|
|
71
|
+
await runtime.runJob(cfg, plan, slot);
|
|
72
|
+
const rec = runtime.database.slots.getSlot(slot.slotId);
|
|
73
|
+
const cells = runtime.database.slots.getCells(slot.slotId).map((c) => ({
|
|
74
|
+
targetId: c.targetId,
|
|
75
|
+
status: c.status,
|
|
76
|
+
workId: c.workId,
|
|
77
|
+
error: c.lastError,
|
|
78
|
+
}));
|
|
79
|
+
return {
|
|
80
|
+
scheduleId,
|
|
81
|
+
slotId: slot.slotId,
|
|
82
|
+
status: rec?.status ?? 'failed',
|
|
83
|
+
alreadyCompleted: false,
|
|
84
|
+
cells,
|
|
85
|
+
};
|
|
86
|
+
},
|
|
87
|
+
status: () => ({
|
|
88
|
+
mode: 'external',
|
|
89
|
+
schedules: manager.scheduleIds(),
|
|
90
|
+
}),
|
|
91
|
+
});
|
|
92
|
+
const port = rt.trigger?.port ?? (Number(process.env.PORT) || 8090);
|
|
93
|
+
triggerServer.start(rt.trigger?.host ?? '0.0.0.0', port);
|
|
94
|
+
context.logger.info('External scheduler mode: internal cron disabled, awaiting authenticated Slot triggers', { port });
|
|
95
|
+
}
|
|
48
96
|
const cleanup = () => {
|
|
49
97
|
context.logger.info('Shutting down PixivFlow');
|
|
98
|
+
triggerServer?.stop();
|
|
50
99
|
manager.stop();
|
|
51
100
|
runtime.close();
|
|
52
101
|
process.exit(0);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SchedulerCommand.js","sourceRoot":"","sources":["../../src/commands/SchedulerCommand.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"SchedulerCommand.js","sourceRoot":"","sources":["../../src/commands/SchedulerCommand.ts"],"names":[],"mappings":"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"}
|
|
@@ -11,6 +11,7 @@ import { Database } from '../storage/Database';
|
|
|
11
11
|
import { PixivClient } from '../pixiv/PixivClient';
|
|
12
12
|
import { FileService } from '../download/FileService';
|
|
13
13
|
import { createTokenMaintenanceService } from '../utils/token-maintenance';
|
|
14
|
+
import { SlotContext } from '../scheduler/SlotCoordinator';
|
|
14
15
|
import { JobFailure } from '../scheduler/Scheduler';
|
|
15
16
|
export interface SchedulerRuntime {
|
|
16
17
|
config: StandaloneConfig;
|
|
@@ -19,7 +20,7 @@ export interface SchedulerRuntime {
|
|
|
19
20
|
fileService: FileService;
|
|
20
21
|
tokenMaintenance: ReturnType<typeof createTokenMaintenanceService>;
|
|
21
22
|
/** Run one schedule's enabled targets once (the same job the cron fires). */
|
|
22
|
-
runJob(snapshot: StandaloneConfig, schedule: ScheduleConfig, targetFilter?: string): Promise<void>;
|
|
23
|
+
runJob(snapshot: StandaloneConfig, schedule: ScheduleConfig, targetFilter?: string | SlotContext, slot?: SlotContext): Promise<void>;
|
|
23
24
|
/** Cancel the in-flight download plan, if any. */
|
|
24
25
|
cancelActive(reason: string): void;
|
|
25
26
|
/** Notify the affected review group after a failed scheduled run. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scheduler-runtime.d.ts","sourceRoot":"","sources":["../../src/commands/scheduler-runtime.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAIH,OAAO,EAA6B,cAAc,EAAE,gBAAgB,EAAgB,MAAM,WAAW,CAAC;AACtG,OAAO,EAAE,QAAQ,EAA0B,MAAM,qBAAqB,CAAC;AAEvE,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACnD,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAItD,OAAO,EAAE,6BAA6B,EAAE,MAAM,4BAA4B,CAAC;AAE3E,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAIpD,MAAM,WAAW,gBAAgB;IAC/B,MAAM,EAAE,gBAAgB,CAAC;IACzB,QAAQ,EAAE,QAAQ,CAAC;IACnB,WAAW,EAAE,WAAW,CAAC;IACzB,WAAW,EAAE,WAAW,CAAC;IACzB,gBAAgB,EAAE,UAAU,CAAC,OAAO,6BAA6B,CAAC,CAAC;IACnE,6EAA6E;IAC7E,MAAM,
|
|
1
|
+
{"version":3,"file":"scheduler-runtime.d.ts","sourceRoot":"","sources":["../../src/commands/scheduler-runtime.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAIH,OAAO,EAA6B,cAAc,EAAE,gBAAgB,EAAgB,MAAM,WAAW,CAAC;AACtG,OAAO,EAAE,QAAQ,EAA0B,MAAM,qBAAqB,CAAC;AAEvE,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACnD,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAItD,OAAO,EAAE,6BAA6B,EAAE,MAAM,4BAA4B,CAAC;AAE3E,OAAO,EAAE,WAAW,EAAmD,MAAM,8BAA8B,CAAC;AAC5G,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAIpD,MAAM,WAAW,gBAAgB;IAC/B,MAAM,EAAE,gBAAgB,CAAC;IACzB,QAAQ,EAAE,QAAQ,CAAC;IACnB,WAAW,EAAE,WAAW,CAAC;IACzB,WAAW,EAAE,WAAW,CAAC;IACzB,gBAAgB,EAAE,UAAU,CAAC,OAAO,6BAA6B,CAAC,CAAC;IACnE,6EAA6E;IAC7E,MAAM,CACJ,QAAQ,EAAE,gBAAgB,EAC1B,QAAQ,EAAE,cAAc,EACxB,YAAY,CAAC,EAAE,MAAM,GAAG,WAAW,EACnC,IAAI,CAAC,EAAE,WAAW,GACjB,OAAO,CAAC,IAAI,CAAC,CAAC;IACjB,kDAAkD;IAClD,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACnC,qEAAqE;IACrE,qBAAqB,CACnB,QAAQ,EAAE,gBAAgB,EAC1B,QAAQ,EAAE,cAAc,EACxB,OAAO,EAAE,UAAU,GAClB,OAAO,CAAC,IAAI,CAAC,CAAC;IACjB,8EAA8E;IAC9E,KAAK,IAAI,IAAI,CAAC;CACf;AAsGD,wBAAsB,qBAAqB,CACzC,MAAM,EAAE,gBAAgB,EACxB,YAAY,EAAE,MAAM,EACpB,QAAQ,EAAE,cAAc,EACxB,OAAO,EAAE,UAAU,GAClB,OAAO,CAAC,IAAI,CAAC,CAiBf;AAED,wBAAsB,sBAAsB,CAAC,aAAa,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAkL9F;AAED;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,CAAC,EAC9B,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC,EAChB,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,IAAI,EACrB,KAAK,EAAE,MAAM,GACZ,OAAO,CAAC,CAAC,CAAC,CAcZ"}
|
|
@@ -22,6 +22,7 @@ const DeliveryDispatcher_1 = require("../delivery/DeliveryDispatcher");
|
|
|
22
22
|
const DeliveryOutbox_1 = require("../delivery/DeliveryOutbox");
|
|
23
23
|
const token_maintenance_1 = require("../utils/token-maintenance");
|
|
24
24
|
const schedules_1 = require("../scheduler/schedules");
|
|
25
|
+
const SlotCoordinator_1 = require("../scheduler/SlotCoordinator");
|
|
25
26
|
const placeholders_1 = require("../config/placeholders");
|
|
26
27
|
const logger_1 = require("../logger");
|
|
27
28
|
/**
|
|
@@ -136,14 +137,17 @@ async function createSchedulerRuntime(configPathArg) {
|
|
|
136
137
|
tokenMaintenance.start();
|
|
137
138
|
}
|
|
138
139
|
let activeDownloadManager = null;
|
|
139
|
-
const runJob = async (snapshot, schedule, targetFilter) => {
|
|
140
|
+
const runJob = async (snapshot, schedule, targetFilter, slotArg) => {
|
|
141
|
+
// External trigger passes a SlotContext as the 3rd arg (no targetFilter);
|
|
142
|
+
// internal cron passes none. Normalize both.
|
|
143
|
+
const slot = slotArg ?? (targetFilter && typeof targetFilter === 'object' ? targetFilter : undefined);
|
|
144
|
+
const onlyTarget = targetFilter && typeof targetFilter === 'string' ? targetFilter : undefined;
|
|
140
145
|
const runtimeConfig = (0, placeholders_1.processConfigPlaceholders)(snapshot);
|
|
141
146
|
let targets = (0, schedules_1.selectScheduleTargets)(runtimeConfig.targets, schedule);
|
|
142
|
-
if (
|
|
147
|
+
if (onlyTarget) {
|
|
143
148
|
// "重抓/换一张" 只重跑产生该审核的那一个 target。
|
|
144
|
-
targets = targets.filter((t) => t.id ===
|
|
149
|
+
targets = targets.filter((t) => t.id === onlyTarget);
|
|
145
150
|
}
|
|
146
|
-
const scopedConfig = { ...runtimeConfig, targets };
|
|
147
151
|
if (targets.length === 0) {
|
|
148
152
|
logger_1.logger.warn('Scheduled plan has no selected targets; skipping', {
|
|
149
153
|
scheduleId: schedule.id,
|
|
@@ -151,9 +155,68 @@ async function createSchedulerRuntime(configPathArg) {
|
|
|
151
155
|
});
|
|
152
156
|
return;
|
|
153
157
|
}
|
|
158
|
+
// Slot ledger: in external mode every run belongs to a named slot. Internal
|
|
159
|
+
// cron runs also get a slot (so the same idempotency/resume rules apply).
|
|
160
|
+
const coordinator = new SlotCoordinator_1.SlotCoordinator(database);
|
|
161
|
+
let slotCtx;
|
|
162
|
+
if (slot) {
|
|
163
|
+
slotCtx = slot;
|
|
164
|
+
}
|
|
165
|
+
else {
|
|
166
|
+
const tz = schedule.timezone ?? runtimeConfig.scheduler?.timezone;
|
|
167
|
+
const name = (0, SlotCoordinator_1.slotNameForNow)(tz);
|
|
168
|
+
const date = (0, SlotCoordinator_1.slotDateForNow)(tz);
|
|
169
|
+
slotCtx = { slotId: `${date}:${name}`, slotName: name, slotDate: date, triggerSource: 'cron' };
|
|
170
|
+
}
|
|
171
|
+
const begin = coordinator.begin(slotCtx, schedule);
|
|
172
|
+
if (begin.alreadyCompleted && !onlyTarget) {
|
|
173
|
+
logger_1.logger.info('Slot already terminal; nothing to do', { slot: slotCtx.slotId, status: begin.slotRec.status });
|
|
174
|
+
return;
|
|
175
|
+
}
|
|
176
|
+
// Skip cells that already reached a terminal state in this slot (resume
|
|
177
|
+
// never re-runs a finished cell — that is what prevents a second post).
|
|
178
|
+
const pending = coordinator.pendingTargets(slotCtx.slotId, targets);
|
|
179
|
+
const runTargets = (onlyTarget ? pending.filter((p) => p.target.id === onlyTarget) : pending).map((p) => p.target);
|
|
180
|
+
if (runTargets.length === 0) {
|
|
181
|
+
logger_1.logger.info('All slot cells already complete', { slot: slotCtx.slotId });
|
|
182
|
+
coordinator.finish(slotCtx, schedule, targets);
|
|
183
|
+
return;
|
|
184
|
+
}
|
|
185
|
+
const scopedConfig = {
|
|
186
|
+
...runtimeConfig,
|
|
187
|
+
targets: runTargets.map((t) => ({
|
|
188
|
+
...t,
|
|
189
|
+
delivery: t.delivery
|
|
190
|
+
? { ...t.delivery, slotContext: { slotId: slotCtx.slotId, slotName: slotCtx.slotName, slotDate: slotCtx.slotDate } }
|
|
191
|
+
: t.delivery,
|
|
192
|
+
})),
|
|
193
|
+
};
|
|
154
194
|
const downloadManager = new DownloadManager_1.DownloadManager(scopedConfig, pixivClient, database, fileService);
|
|
155
195
|
activeDownloadManager = downloadManager;
|
|
156
196
|
await downloadManager.initialise();
|
|
197
|
+
// Record cell outcomes into the slot ledger.
|
|
198
|
+
downloadManager.setWorkLockedHook((artifact, target) => {
|
|
199
|
+
if (!target.id)
|
|
200
|
+
return;
|
|
201
|
+
// First selection wins; retries/replays carry the same pixivId and the
|
|
202
|
+
// ledger COALESCE keeps it, so a retry never silently swaps the work.
|
|
203
|
+
coordinator.lockWork(slotCtx.slotId, target.id, artifact.pixivId, artifact.type);
|
|
204
|
+
});
|
|
205
|
+
downloadManager.setTargetOutcomeHook((target, error) => {
|
|
206
|
+
if (!target.id)
|
|
207
|
+
return;
|
|
208
|
+
if (!error) {
|
|
209
|
+
// Delivered (or queued in outbox, which retries the SAME work). Mark
|
|
210
|
+
// submitted; the work id is best-effort from the most recent download.
|
|
211
|
+
coordinator.markCell(slotCtx.slotId, target.id, 'submitted');
|
|
212
|
+
}
|
|
213
|
+
else if (/no matching|no_candidate|all .*filtered|already downloaded/i.test(error)) {
|
|
214
|
+
coordinator.markCell(slotCtx.slotId, target.id, 'no_candidate', error);
|
|
215
|
+
}
|
|
216
|
+
else {
|
|
217
|
+
coordinator.markCell(slotCtx.slotId, target.id, 'failed', error);
|
|
218
|
+
}
|
|
219
|
+
});
|
|
157
220
|
// Apply initial delay if configured
|
|
158
221
|
if (runtimeConfig.initialDelay && runtimeConfig.initialDelay > 0) {
|
|
159
222
|
logger_1.logger.info(`Waiting ${runtimeConfig.initialDelay}ms before starting download...`, {
|
|
@@ -164,7 +227,8 @@ async function createSchedulerRuntime(configPathArg) {
|
|
|
164
227
|
logger_1.logger.info('='.repeat(60));
|
|
165
228
|
logger_1.logger.info('Starting scheduled Pixiv download plan', {
|
|
166
229
|
scheduleId: schedule.id,
|
|
167
|
-
|
|
230
|
+
slot: slotCtx.slotId,
|
|
231
|
+
targets: runTargets.map((target) => target.id ?? target.tag ?? target.filterTag ?? target.type),
|
|
168
232
|
});
|
|
169
233
|
logger_1.logger.info('='.repeat(60));
|
|
170
234
|
const startTime = Date.now();
|
|
@@ -176,9 +240,11 @@ async function createSchedulerRuntime(configPathArg) {
|
|
|
176
240
|
activeDownloadManager = null;
|
|
177
241
|
}
|
|
178
242
|
const duration = Math.round((Date.now() - startTime) / 1000);
|
|
243
|
+
coordinator.finish(slotCtx, schedule, targets);
|
|
179
244
|
logger_1.logger.info('='.repeat(60));
|
|
180
245
|
logger_1.logger.info(`Scheduled download plan finished (took ${duration}s)`, {
|
|
181
246
|
scheduleId: schedule.id,
|
|
247
|
+
slot: slotCtx.slotId,
|
|
182
248
|
});
|
|
183
249
|
logger_1.logger.info('='.repeat(60));
|
|
184
250
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scheduler-runtime.js","sourceRoot":"","sources":["../../src/commands/scheduler-runtime.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"scheduler-runtime.js","sourceRoot":"","sources":["../../src/commands/scheduler-runtime.ts"],"names":[],"mappings":"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"}
|
|
@@ -19,9 +19,16 @@ export declare const DEFAULT_CONFIG: {
|
|
|
19
19
|
readonly timezone: "Asia/Shanghai";
|
|
20
20
|
};
|
|
21
21
|
readonly schedulerRuntime: {
|
|
22
|
+
readonly mode: "internal";
|
|
23
|
+
readonly catchUpMissedRuns: true;
|
|
22
24
|
readonly watchConfig: true;
|
|
23
25
|
readonly reloadDebounceMs: 500;
|
|
24
26
|
readonly queueLimit: 8;
|
|
27
|
+
readonly trigger: {
|
|
28
|
+
readonly port: 8090;
|
|
29
|
+
readonly host: "0.0.0.0";
|
|
30
|
+
readonly graceMinutes: 90;
|
|
31
|
+
};
|
|
25
32
|
};
|
|
26
33
|
readonly download: {
|
|
27
34
|
readonly concurrency: 3;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"defaults.d.ts","sourceRoot":"","sources":["../../src/config/defaults.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAE3C,eAAO,MAAM,cAAc
|
|
1
|
+
{"version":3,"file":"defaults.d.ts","sourceRoot":"","sources":["../../src/config/defaults.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAE3C,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAsCjB,CAAC;AAEX;;GAEG;AACH,wBAAgB,qBAAqB,IAAI,gBAAgB,CAyBxD"}
|
package/dist/config/defaults.js
CHANGED
|
@@ -22,9 +22,16 @@ exports.DEFAULT_CONFIG = {
|
|
|
22
22
|
timezone: 'Asia/Shanghai',
|
|
23
23
|
},
|
|
24
24
|
schedulerRuntime: {
|
|
25
|
+
mode: 'internal',
|
|
26
|
+
catchUpMissedRuns: true,
|
|
25
27
|
watchConfig: true,
|
|
26
28
|
reloadDebounceMs: 500,
|
|
27
29
|
queueLimit: 8,
|
|
30
|
+
trigger: {
|
|
31
|
+
port: 8090,
|
|
32
|
+
host: '0.0.0.0',
|
|
33
|
+
graceMinutes: 90,
|
|
34
|
+
},
|
|
28
35
|
},
|
|
29
36
|
download: {
|
|
30
37
|
concurrency: 3,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"defaults.js","sourceRoot":"","sources":["../../src/config/defaults.ts"],"names":[],"mappings":";AAAA;;GAEG;;;
|
|
1
|
+
{"version":3,"file":"defaults.js","sourceRoot":"","sources":["../../src/config/defaults.ts"],"names":[],"mappings":";AAAA;;GAEG;;;AA+CH,sDAyBC;AApEY,QAAA,cAAc,GAAG;IAC5B,QAAQ,EAAE,MAAe;IACzB,OAAO,EAAE;QACP,SAAS,EAAE,KAAK;QAChB,OAAO,EAAE,CAAC;QACV,UAAU,EAAE,IAAI;KACjB;IACD,OAAO,EAAE;QACP,YAAY,EAAE,4BAA4B;QAC1C,iBAAiB,EAAE,aAAa;KACjC;IACD,SAAS,EAAE;QACT,OAAO,EAAE,KAAK;QACd,IAAI,EAAE,WAAW;QACjB,QAAQ,EAAE,eAAe;KAC1B;IACD,gBAAgB,EAAE;QAChB,IAAI,EAAE,UAAU;QAChB,iBAAiB,EAAE,IAAI;QACvB,WAAW,EAAE,IAAI;QACjB,gBAAgB,EAAE,GAAG;QACrB,UAAU,EAAE,CAAC;QACb,OAAO,EAAE;YACP,IAAI,EAAE,IAAI;YACV,IAAI,EAAE,SAAS;YACf,YAAY,EAAE,EAAE;SACjB;KACF;IACD,QAAQ,EAAE;QACR,WAAW,EAAE,CAAC;QACd,YAAY,EAAE,GAAG;QACjB,kBAAkB,EAAE,IAAI;QACxB,cAAc,EAAE,CAAC;QACjB,UAAU,EAAE,CAAC;QACb,UAAU,EAAE,IAAI;QAChB,OAAO,EAAE,KAAK;KACf;IACD,YAAY,EAAE,CAAC;CACP,CAAC;AAEX;;GAEG;AACH,SAAgB,qBAAqB;IACnC,OAAO;QACL,QAAQ,EAAE,sBAAc,CAAC,QAAQ;QACjC,KAAK,EAAE;YACL,QAAQ,EAAE,8BAA8B;YACxC,YAAY,EAAE,0CAA0C;YACxD,WAAW,EAAE,OAAO;YACpB,YAAY,EAAE,oBAAoB;YAClC,SAAS,EAAE,+CAA+C;SAC3D;QACD,OAAO,EAAE,sBAAc,CAAC,OAAO;QAC/B,OAAO,EAAE,sBAAc,CAAC,OAAO;QAC/B,SAAS,EAAE,sBAAc,CAAC,SAAS;QACnC,gBAAgB,EAAE,sBAAc,CAAC,gBAAgB;QACjD,QAAQ,EAAE,sBAAc,CAAC,QAAQ;QACjC,OAAO,EAAE;YACP;gBACE,IAAI,EAAE,cAAc;gBACpB,GAAG,EAAE,MAAM;gBACX,KAAK,EAAE,EAAE;gBACT,YAAY,EAAE,wBAAwB;aACvC;SACF;QACD,YAAY,EAAE,sBAAc,CAAC,YAAY;KAC1C,CAAC;AACJ,CAAC"}
|
package/dist/config/types.d.ts
CHANGED
|
@@ -43,6 +43,15 @@ export interface TargetDeliveryConfig {
|
|
|
43
43
|
target: string;
|
|
44
44
|
/** 覆盖该交付目标的表单字段,支持 {{title}} 等模板变量 */
|
|
45
45
|
fields?: Record<string, DeliveryFieldValue>;
|
|
46
|
+
/**
|
|
47
|
+
* Schedule slot provenance injected at runtime for scheduled/external runs
|
|
48
|
+
* (not authored in config). Rendered as {{slotId}}/{{slotName}}/{{slotDate}}.
|
|
49
|
+
*/
|
|
50
|
+
slotContext?: {
|
|
51
|
+
slotId: string;
|
|
52
|
+
slotName: string;
|
|
53
|
+
slotDate: string;
|
|
54
|
+
};
|
|
46
55
|
}
|
|
47
56
|
export interface TargetConfig {
|
|
48
57
|
/**
|
|
@@ -368,6 +377,23 @@ export interface ScheduleConfig extends SchedulerConfig {
|
|
|
368
377
|
targetIds?: string[];
|
|
369
378
|
}
|
|
370
379
|
export interface SchedulerRuntimeConfig {
|
|
380
|
+
/**
|
|
381
|
+
* Scheduler trigger source.
|
|
382
|
+
* - `internal` (default): the daemon owns the cron clock. Used on always-on
|
|
383
|
+
* hosts (VPS / Docker / systemd / Fly always-on / Fly Split's PixivFlow).
|
|
384
|
+
* - `external`: the daemon does NOT fire cron and does NOT catch up on start.
|
|
385
|
+
* Runs are driven by an authenticated HTTP Slot trigger (e.g. a Cloudflare
|
|
386
|
+
* cron worker waking a stopped Fly machine). Normal Telegram/webhook traffic
|
|
387
|
+
* that cold-starts the machine must never trigger a scheduled run.
|
|
388
|
+
*/
|
|
389
|
+
mode?: 'internal' | 'external';
|
|
390
|
+
/**
|
|
391
|
+
* Internal-mode self-healing: at daemon start, if a cron fire was missed
|
|
392
|
+
* while the process was down (deploy/crash/restart on an always-on host),
|
|
393
|
+
* run that schedule once. Default true. Forced off in `external` mode where
|
|
394
|
+
* a stopped machine is the normal cost-saving state, not an outage.
|
|
395
|
+
*/
|
|
396
|
+
catchUpMissedRuns?: boolean;
|
|
371
397
|
/** Watch the active config and reload valid snapshots automatically. */
|
|
372
398
|
watchConfig?: boolean;
|
|
373
399
|
/** Debounce interval for atomic file replacements. Default: 500ms. */
|
|
@@ -377,6 +403,29 @@ export interface SchedulerRuntimeConfig {
|
|
|
377
403
|
* One pending run per plan is retained; extra ticks are skipped.
|
|
378
404
|
*/
|
|
379
405
|
queueLimit?: number;
|
|
406
|
+
/**
|
|
407
|
+
* External-mode HTTP trigger settings. Ignored in internal mode.
|
|
408
|
+
*/
|
|
409
|
+
trigger?: SchedulerTriggerConfig;
|
|
410
|
+
}
|
|
411
|
+
/** Authenticated HTTP Slot trigger for `mode: external`. */
|
|
412
|
+
export interface SchedulerTriggerConfig {
|
|
413
|
+
/** Bind port for the trigger HTTP server. Default 8090. */
|
|
414
|
+
port?: number;
|
|
415
|
+
/** Bind host. Default 0.0.0.0 (Fly injects the port; host stays 0.0.0.0). */
|
|
416
|
+
host?: string;
|
|
417
|
+
/**
|
|
418
|
+
* Required bearer token. When unset the server reads SCHEDULER_TRIGGER_TOKEN
|
|
419
|
+
* from the environment. If neither is set the trigger endpoint refuses all
|
|
420
|
+
* requests (fails closed).
|
|
421
|
+
*/
|
|
422
|
+
token?: string;
|
|
423
|
+
/**
|
|
424
|
+
* Minutes after a slot's scheduled time during which a trigger is accepted
|
|
425
|
+
* as a resume of that slot. Older slots are treated as expired and never
|
|
426
|
+
* back-filled. Default 90 (a 4-cell serial slot can take ~15-30 min).
|
|
427
|
+
*/
|
|
428
|
+
graceMinutes?: number;
|
|
380
429
|
}
|
|
381
430
|
export interface HttpMultipartSuccessConfig {
|
|
382
431
|
/** 可接受的 HTTP 状态码;缺省接受全部 2xx */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/config/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,MAAM,MAAM,UAAU,GAAG,cAAc,GAAG,OAAO,CAAC;AAElD,MAAM,MAAM,kBAAkB,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,MAAM,EAAE,CAAC;AAEtE,yEAAyE;AACzE,MAAM,WAAW,oBAAoB;IACnC,oEAAoE;IACpE,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,4EAA4E;IAC5E,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,qEAAqE;IACrE,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,6EAA6E;IAC7E,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,gEAAgE;IAChE,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,2EAA2E;IAC3E,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAED,oDAAoD;AACpD,MAAM,WAAW,yBAAyB;IACxC,yEAAyE;IACzE,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,yEAAyE;IACzE,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,wEAAwE;IACxE,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED,4EAA4E;AAC5E,MAAM,WAAW,mBAAmB;IAClC;;;;OAIG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,wEAAwE;IACxE,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,WAAW,oBAAoB;IACnC,qCAAqC;IACrC,MAAM,EAAE,MAAM,CAAC;IACf,sCAAsC;IACtC,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,kBAAkB,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/config/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validation.d.ts","sourceRoot":"","sources":["../../src/config/validation.ts"],"names":[],"mappings":"AAAA;;GAEG;AAMH,OAAO,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAG3C;;GAEG;AACH,qBAAa,qBAAsB,SAAQ,KAAK;aAG5B,MAAM,EAAE,MAAM,EAAE;aAChB,QAAQ,EAAE,MAAM,EAAE;gBAFlC,OAAO,EAAE,MAAM,EACC,MAAM,EAAE,MAAM,EAAE,EAChB,QAAQ,GAAE,MAAM,EAAO;CAK1C;AAED;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,OAAO,CAAC,gBAAgB,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,
|
|
1
|
+
{"version":3,"file":"validation.d.ts","sourceRoot":"","sources":["../../src/config/validation.ts"],"names":[],"mappings":"AAAA;;GAEG;AAMH,OAAO,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAG3C;;GAEG;AACH,qBAAa,qBAAsB,SAAQ,KAAK;aAG5B,MAAM,EAAE,MAAM,EAAE;aAChB,QAAQ,EAAE,MAAM,EAAE;gBAFlC,OAAO,EAAE,MAAM,EACC,MAAM,EAAE,MAAM,EAAE,EAChB,QAAQ,GAAE,MAAM,EAAO;CAK1C;AAED;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,OAAO,CAAC,gBAAgB,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CA8X/G;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,UAAU,EAAE,MAAM,GAAG;IAAE,KAAK,EAAE,OAAO,CAAC;IAAC,MAAM,EAAE,MAAM,EAAE,CAAC;IAAC,QAAQ,EAAE,MAAM,EAAE,CAAA;CAAE,CAkB/G"}
|
|
@@ -336,13 +336,28 @@ function validateConfig(config, location, databasePath) {
|
|
|
336
336
|
}
|
|
337
337
|
}
|
|
338
338
|
if (config.schedulerRuntime) {
|
|
339
|
-
const
|
|
339
|
+
const rt = config.schedulerRuntime;
|
|
340
|
+
const { reloadDebounceMs, queueLimit, mode, trigger } = rt;
|
|
341
|
+
if (mode !== undefined && mode !== 'internal' && mode !== 'external') {
|
|
342
|
+
errors.push('schedulerRuntime.mode: Must be "internal" or "external"');
|
|
343
|
+
}
|
|
344
|
+
if (rt.catchUpMissedRuns !== undefined && typeof rt.catchUpMissedRuns !== 'boolean') {
|
|
345
|
+
errors.push('schedulerRuntime.catchUpMissedRuns: Must be a boolean');
|
|
346
|
+
}
|
|
340
347
|
if (reloadDebounceMs !== undefined && reloadDebounceMs < 100) {
|
|
341
348
|
errors.push('schedulerRuntime.reloadDebounceMs: Must be at least 100');
|
|
342
349
|
}
|
|
343
350
|
if (queueLimit !== undefined && (!Number.isInteger(queueLimit) || queueLimit < 0 || queueLimit > 100)) {
|
|
344
351
|
errors.push('schedulerRuntime.queueLimit: Must be an integer between 0 and 100');
|
|
345
352
|
}
|
|
353
|
+
if (trigger) {
|
|
354
|
+
if (trigger.port !== undefined && (!Number.isInteger(trigger.port) || trigger.port < 1 || trigger.port > 65535)) {
|
|
355
|
+
errors.push('schedulerRuntime.trigger.port: Must be a valid TCP port');
|
|
356
|
+
}
|
|
357
|
+
if (trigger.graceMinutes !== undefined && (!Number.isInteger(trigger.graceMinutes) || trigger.graceMinutes < 1)) {
|
|
358
|
+
errors.push('schedulerRuntime.trigger.graceMinutes: Must be a positive integer (minutes)');
|
|
359
|
+
}
|
|
360
|
+
}
|
|
346
361
|
}
|
|
347
362
|
// Validate download config
|
|
348
363
|
if (config.download) {
|