fix backup async
This commit is contained in:
@@ -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()) {
|
||||||
|
|||||||
Reference in New Issue
Block a user