Skip to content

Commit e345375

Browse files
committed
Refactor progress tracking and reporting
Renamed `counter` to `processed` for clarity. Introduced `updated` to count updated files. Updated progress reporting to use `processed` and `updated`. Added calculation of total saved file size, stored in `snapshot.TotalSize`. Stored `progressTracker` log in `snapshot.Log`. Updated final progress report to include processed files, updated files, and total size in MB. Removed redundant `mb` calculation.
1 parent 2447000 commit e345375

File tree

1 file changed

+11
-6
lines changed

1 file changed

+11
-6
lines changed

Sources/Octockup.Server/Handlers/BackupRequestHandler.cs

Lines changed: 11 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -84,15 +84,16 @@ private async Task CreateBackupAsync(BackupTask job, IStorageProvider storagePro
8484
progressTracker.ReportProgress(0.01, "Requesting files", force: true);
8585
var files = storageProvider.GetAllFiles(p => progressTracker.ReportProgress(0.01, $"Got files: {p}"), cancellationToken: merged).ToList();
8686
progressTracker.ReportProgress(0.02, $"Got {files.Count} files", force: true);
87-
int counter = 0;
87+
int processed = 0;
88+
int updated = 0;
8889
BackupSnapshot snapshot = new() { BackupTaskId = job.Id };
8990
await _dbContext.BackupSnapshots.AddAsync(snapshot, merged);
9091
await _dbContext.SaveChangesAsync(merged);
9192
foreach (var remoteFileInfo in files)
9293
{
9394
merged.ThrowIfCancellationRequested();
94-
counter++;
95-
double progress = (double)counter / files.Count;
95+
processed++;
96+
double progress = (double)processed / files.Count;
9697
progressTracker.ReportProgress(progress, "Checking file: " + remoteFileInfo.Name);
9798

9899
_logger.LogDebug("Trying to get saved file: {file}", remoteFileInfo.Path);
@@ -124,10 +125,14 @@ private async Task CreateBackupAsync(BackupTask job, IStorageProvider storagePro
124125
continue;
125126
}
126127
await SaveNewFileAsync(storageProvider, remoteFileInfo, snapshot, progressTracker, progress, merged);
128+
updated++;
127129
}
128-
double mb = 100000000 / 1024.0 / 1024.0;
129-
mb = Math.Round(mb, 2);
130-
progressTracker.ReportProgress(0.5, $"Processed {counter} files, {counter / 2} updated, {mb} MB total", force: true);
130+
long totalSize = snapshot.SavedFiles.Sum(x => x.Size);
131+
snapshot.TotalSize = totalSize;
132+
snapshot.Log = progressTracker.Log;
133+
await _dbContext.SaveChangesAsync(merged);
134+
double mb = totalSize / 1024.0 / 1024.0;
135+
progressTracker.ReportProgress(0.5, $"Processed {processed} files, {updated} updated, {mb} MB total", force: true);
131136
}
132137

133138
private async Task<SavedFile?> GetSavedFileAsync(RemoteFileInfo remoteFileInfo, BackupSnapshot snapshot)

0 commit comments

Comments
 (0)