in import/src/main/java/com/google/cloud/healthcare/imaging/dicomadapter/cstore/backup/BackupUploadService.java [237:253]
private CompletableFuture scheduleUploadWithDelay(BackupState backupState, Runnable uploadJob, long delayMillis) throws BackupException {
String uniqueFileName = backupState.getUniqueFileName();
log.info("Trying to send data, fileName={}, attempt № {}. ",
uniqueFileName,
2 + attemptsAmount - backupState.getAttemptsCountdown());
if (backupState.decrement()) {
return CompletableFuture.runAsync(
uploadJob,
CompletableFuture.delayedExecutor(
delayMillis,
TimeUnit.MILLISECONDS,
uploadThreadPool));
} else {
MonitoringService.addEvent(Event.CSTORE_ERROR);
throw getNoResendAttemptLeftException(null, uniqueFileName);
}
}