feat(web): inter-job download delay setting (Settings → Monitor)
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -34,3 +34,23 @@ describe("monitor config API", () => {
|
|||||||
expect(await prisma.config.count()).toBe(before);
|
expect(await prisma.config.count()).toBe(before);
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
|
describe("monitor config — floor.jobDelaySeconds", () => {
|
||||||
|
it("defaults jobDelaySeconds to 0 and round-trips a new value", async () => {
|
||||||
|
const before = await (await GET()).json();
|
||||||
|
expect(before["floor.jobDelaySeconds"]).toBe("0");
|
||||||
|
|
||||||
|
await PATCH(
|
||||||
|
new Request("http://localhost/api/monitor/config", {
|
||||||
|
method: "PATCH",
|
||||||
|
headers: { "content-type": "application/json" },
|
||||||
|
body: JSON.stringify({ "floor.jobDelaySeconds": "45" }),
|
||||||
|
}),
|
||||||
|
);
|
||||||
|
|
||||||
|
const stored = await prisma.config.findUnique({ where: { key: "floor.jobDelaySeconds" } });
|
||||||
|
expect(stored?.value).toBe("45");
|
||||||
|
const after = await (await GET()).json();
|
||||||
|
expect(after["floor.jobDelaySeconds"]).toBe("45");
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|||||||
@@ -6,6 +6,7 @@ const DEFAULTS: Record<string, string> = {
|
|||||||
"monitor.retryIntervalHours": "6",
|
"monitor.retryIntervalHours": "6",
|
||||||
"monitor.qualityCutoff": "2",
|
"monitor.qualityCutoff": "2",
|
||||||
"monitor.upgradeWindowDays": "14",
|
"monitor.upgradeWindowDays": "14",
|
||||||
|
"floor.jobDelaySeconds": "0",
|
||||||
};
|
};
|
||||||
|
|
||||||
export async function GET() {
|
export async function GET() {
|
||||||
|
|||||||
@@ -31,6 +31,7 @@ const MONITOR_FIELDS: [string, string][] = [
|
|||||||
["monitor.retryIntervalHours", "Retry interval (hours)"],
|
["monitor.retryIntervalHours", "Retry interval (hours)"],
|
||||||
["monitor.qualityCutoff", "Quality cutoff"],
|
["monitor.qualityCutoff", "Quality cutoff"],
|
||||||
["monitor.upgradeWindowDays", "Upgrade window (days)"],
|
["monitor.upgradeWindowDays", "Upgrade window (days)"],
|
||||||
|
["floor.jobDelaySeconds", "Delay between downloads (seconds)"],
|
||||||
];
|
];
|
||||||
|
|
||||||
export function SettingsForm() {
|
export function SettingsForm() {
|
||||||
|
|||||||
Reference in New Issue
Block a user