fix backup async

This commit is contained in:
Stefan Hardegger
2025-10-20 14:25:12 +02:00
parent 32544d4f4a
commit 1c004eb7d6

View File

@@ -48,7 +48,10 @@ public class AsyncBackupService {
BackupJob job = new BackupJob(libraryId, type); BackupJob job = new BackupJob(libraryId, type);
job = backupJobRepository.save(job); job = backupJobRepository.save(job);
// Start backup in background // Force flush to ensure job is committed to DB before async execution
backupJobRepository.flush();
// Start backup in background (async method will run in separate thread after this transaction commits)
executeBackupAsync(job.getId()); executeBackupAsync(job.getId());
return job; return job;
@@ -58,7 +61,7 @@ public class AsyncBackupService {
* Execute backup asynchronously * Execute backup asynchronously
*/ */
@Async @Async
@Transactional @Transactional(propagation = org.springframework.transaction.annotation.Propagation.REQUIRES_NEW)
public void executeBackupAsync(UUID jobId) { public void executeBackupAsync(UUID jobId) {
Optional<BackupJob> jobOpt = backupJobRepository.findById(jobId); Optional<BackupJob> jobOpt = backupJobRepository.findById(jobId);
if (jobOpt.isEmpty()) { if (jobOpt.isEmpty()) {