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);
|
||||
});
|
||||
});
|
||||
|
||||
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.qualityCutoff": "2",
|
||||
"monitor.upgradeWindowDays": "14",
|
||||
"floor.jobDelaySeconds": "0",
|
||||
};
|
||||
|
||||
export async function GET() {
|
||||
|
||||
@@ -31,6 +31,7 @@ const MONITOR_FIELDS: [string, string][] = [
|
||||
["monitor.retryIntervalHours", "Retry interval (hours)"],
|
||||
["monitor.qualityCutoff", "Quality cutoff"],
|
||||
["monitor.upgradeWindowDays", "Upgrade window (days)"],
|
||||
["floor.jobDelaySeconds", "Delay between downloads (seconds)"],
|
||||
];
|
||||
|
||||
export function SettingsForm() {
|
||||
|
||||
Reference in New Issue
Block a user