dev delete async
Test Workflow / test (push) Successful in 3s

This commit is contained in:
vladp
2026-04-09 11:03:31 +07:00
parent aef2c1dfe0
commit 31140e810b
2 changed files with 7 additions and 16 deletions
@@ -6,8 +6,6 @@ import ru.soune.nocopy.entity.file.FileEntity;
import ru.soune.nocopy.entity.file.FileStatus;
import ru.soune.nocopy.entity.file.FileUploadSession;
import java.io.IOException;
public interface FileUploadService {
FileUploadSession initUpload(Long userId, String fileName,
String fileType, String extension, String convertTo, long fileSize);
@@ -20,5 +18,5 @@ public interface FileUploadService {
UploadProgressResponse getUploadProgress(String uploadId);
FileEntity completeFileProcessingAsync(FileUploadSession session, FileStatus status);
FileEntity completeFileProcessing(FileUploadSession session, FileStatus status);
}
@@ -226,11 +226,9 @@ public class FileUploadServiceImpl implements FileUploadService {
return UploadProgressResponse.fromSession(session);
}
@Async("fileUploadTaskExecutor")
@Transactional
@Override
public FileEntity completeFileProcessingAsync(FileUploadSession session, FileStatus status) {
FileEntity saved = null;
public FileEntity completeFileProcessing(FileUploadSession session, FileStatus status) {
try {
Path filePath = Paths.get(session.getFilePath());
String checksum = calculateChecksum(filePath);
@@ -249,11 +247,10 @@ public class FileUploadServiceImpl implements FileUploadService {
.status(status)
.build();
saved = fileEntityRepository.save(fileEntity);
FileEntity saved = fileEntityRepository.save(fileEntity);
if (session.getFileType().equals("image")) {
Map<String, Long> hash = imageHashService.calculateHash(filePath);
imageHashService.create(saved, hash);
}
@@ -261,17 +258,17 @@ public class FileUploadServiceImpl implements FileUploadService {
if (status != FileStatus.TEMP) {
FileProtector.FileInfo fileInfo = fileUtil.createFileInfo(fileEntity, session.getConvertTo());
noCopyFileService.addFile(fileInfo);
}
log.info("File processing completed for session: {}", session.getUploadId());
return saved;
} catch (Exception e) {
log.error("Failed to complete file processing for session {}: {}",
session.getUploadId(), e.getMessage(), e);
throw new FileUploadException("Failed to complete file processing", e);
}
return saved;
}
private void validateSession(FileUploadSession session) {
@@ -386,11 +383,7 @@ public class FileUploadServiceImpl implements FileUploadService {
fileEntityService.clearTempFiles(session.getUserId());
}
FileEntity fileEntity = completeFileProcessingAsync(session, status);
fileEntityRepository.flush();
entityManager.clear();
FileEntity fileEntity = completeFileProcessing(session, status);
cloudStorageService.saveFilesToStorage(fileEntity.getMimeType(), fileEntity.getFileExtension(),
fileEntity.getFilePath());