fix: same time backups run multiple times (#134)
Some checks failed
Release Workflow / determine-release-type (push) Has been cancelled
Release Workflow / build-images (push) Has been cancelled
Release Workflow / publish-release (push) Has been cancelled

This commit is contained in:
Nico 2025-12-13 23:47:41 +01:00 committed by GitHub
parent 6ab5c549c1
commit be53466739
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
2 changed files with 3 additions and 5 deletions

View file

@ -17,11 +17,9 @@ export class BackupExecutionJob extends Job {
logger.info(`Found ${scheduleIds.length} backup schedule(s) to execute`);
for (const scheduleId of scheduleIds) {
try {
await backupsService.executeBackup(scheduleId);
} catch (error) {
backupsService.executeBackup(scheduleId).catch((error) => {
logger.error(`Failed to execute backup for schedule ${scheduleId}: ${toMessage(error)}`);
}
});
}
return { done: true, timestamp: new Date(), executed: scheduleIds.length };

View file

@ -370,7 +370,7 @@ const executeBackup = async (scheduleId: number, manual = false) => {
const getSchedulesToExecute = async () => {
const now = Date.now();
const schedules = await db.query.backupSchedulesTable.findMany({
where: eq(backupSchedulesTable.enabled, true),
where: and(eq(backupSchedulesTable.enabled, true), ne(backupSchedulesTable.lastBackupStatus, "in_progress")),
});
const schedulesToRun: number[] = [];