From cb22e3421512bc9dd2009a120fb7c15f02c93223 Mon Sep 17 00:00:00 2001 From: Nicolas Meienberger Date: Sun, 12 Apr 2026 10:16:17 +0200 Subject: [PATCH] refactor(backup): default to 2 retries & 15 minutes delay --- .../components/create-schedule-form/advanced-section.tsx | 8 ++++---- app/drizzle/20260407172925_fresh_warlock/migration.sql | 4 ++-- app/drizzle/20260407172925_fresh_warlock/snapshot.json | 4 ++-- app/server/db/schema.ts | 4 ++-- 4 files changed, 10 insertions(+), 10 deletions(-) diff --git a/app/client/modules/backups/components/create-schedule-form/advanced-section.tsx b/app/client/modules/backups/components/create-schedule-form/advanced-section.tsx index a7282ab6..a6d865a3 100644 --- a/app/client/modules/backups/components/create-schedule-form/advanced-section.tsx +++ b/app/client/modules/backups/components/create-schedule-form/advanced-section.tsx @@ -24,11 +24,11 @@ export const AdvancedSection = ({ form }: AdvancedSectionProps) => { min={0} max={32} value={field.value ?? ""} - placeholder="e.g., 3" + placeholder="e.g., 2" onChange={(e) => field.onChange(e.target.value ? Number(e.target.value) : undefined)} /> - Maximum number of retry attempts if a backup fails (default: 3). + Maximum number of retry attempts if a backup fails (default: 2). )} @@ -46,12 +46,12 @@ export const AdvancedSection = ({ form }: AdvancedSectionProps) => { min={1} max={1440} step={1} - placeholder="e.g., 60" + placeholder="e.g., 15" value={field.value ?? ""} onChange={(e) => field.onChange(e.target.value ? Number(e.target.value) : undefined)} /> - Delay in minutes before retrying a failed backup (default: 60 minutes). + Delay in minutes before retrying a failed backup (default: 15 minutes). )} diff --git a/app/drizzle/20260407172925_fresh_warlock/migration.sql b/app/drizzle/20260407172925_fresh_warlock/migration.sql index 94f09e23..f42c96e5 100644 --- a/app/drizzle/20260407172925_fresh_warlock/migration.sql +++ b/app/drizzle/20260407172925_fresh_warlock/migration.sql @@ -1,3 +1,3 @@ ALTER TABLE `backup_schedules_table` ADD `failure_retry_count` integer DEFAULT 0 NOT NULL;--> statement-breakpoint -ALTER TABLE `backup_schedules_table` ADD `max_retries` integer DEFAULT 3 NOT NULL;--> statement-breakpoint -ALTER TABLE `backup_schedules_table` ADD `retry_delay` integer DEFAULT 3600000 NOT NULL; \ No newline at end of file +ALTER TABLE `backup_schedules_table` ADD `max_retries` integer DEFAULT 2 NOT NULL;--> statement-breakpoint +ALTER TABLE `backup_schedules_table` ADD `retry_delay` integer DEFAULT 900000 NOT NULL; diff --git a/app/drizzle/20260407172925_fresh_warlock/snapshot.json b/app/drizzle/20260407172925_fresh_warlock/snapshot.json index a838b45f..d24efe77 100644 --- a/app/drizzle/20260407172925_fresh_warlock/snapshot.json +++ b/app/drizzle/20260407172925_fresh_warlock/snapshot.json @@ -592,7 +592,7 @@ "type": "integer", "notNull": true, "autoincrement": false, - "default": "3", + "default": "2", "generated": null, "name": "max_retries", "entityType": "columns", @@ -602,7 +602,7 @@ "type": "integer", "notNull": true, "autoincrement": false, - "default": "3600000", + "default": "900000", "generated": null, "name": "retry_delay", "entityType": "columns", diff --git a/app/server/db/schema.ts b/app/server/db/schema.ts index 3883a5cd..8ba21f41 100644 --- a/app/server/db/schema.ts +++ b/app/server/db/schema.ts @@ -312,8 +312,8 @@ export const backupSchedulesTable = sqliteTable("backup_schedules_table", { customResticParams: text("custom_restic_params", { mode: "json" }).$type().default([]), sortOrder: int("sort_order", { mode: "number" }).notNull().default(0), failureRetryCount: int("failure_retry_count").notNull().default(0), - maxRetries: int("max_retries").notNull().default(3), - retryDelay: int("retry_delay").notNull().default(3600000), + maxRetries: int("max_retries").notNull().default(2), + retryDelay: int("retry_delay").notNull().default(900000), createdAt: int("created_at", { mode: "number" }) .notNull() .default(sql`(unixepoch() * 1000)`),