Re-enable mirroring

This commit is contained in:
Timothy Baldridge 2021-12-17 10:19:50 -07:00
parent dc50e718d9
commit 658fffbb85

View File

@ -202,11 +202,11 @@ public class ValidateLists : IVerb
}).ToArray(); }).ToArray();
var allArchives = validatedLists.SelectMany(l => l.Archives).ToList(); var allArchives = validatedLists.SelectMany(l => l.Archives).ToList();
_logger.LogInformation("Validated {count} lists in {elapsed}", validatedLists.Length, stopWatch.Elapsed); _logger.LogInformation("Validated {Count} lists in {Elapsed}", validatedLists.Length, stopWatch.Elapsed);
_logger.LogInformation(" - {count} Valid", allArchives.Count(a => a.Status is ArchiveStatus.Valid)); _logger.LogInformation(" - {Count} Valid", allArchives.Count(a => a.Status is ArchiveStatus.Valid));
_logger.LogInformation(" - {count} Invalid", allArchives.Count(a => a.Status is ArchiveStatus.InValid)); _logger.LogInformation(" - {Count} Invalid", allArchives.Count(a => a.Status is ArchiveStatus.InValid));
_logger.LogInformation(" - {count} Mirrored", allArchives.Count(a => a.Status is ArchiveStatus.Mirrored)); _logger.LogInformation(" - {Count} Mirrored", allArchives.Count(a => a.Status is ArchiveStatus.Mirrored));
_logger.LogInformation(" - {count} Updated", allArchives.Count(a => a.Status is ArchiveStatus.Updated)); _logger.LogInformation(" - {Count} Updated", allArchives.Count(a => a.Status is ArchiveStatus.Updated));
foreach (var invalid in allArchives.Where(a => a.Status is ArchiveStatus.InValid) foreach (var invalid in allArchives.Where(a => a.Status is ArchiveStatus.InValid)
.DistinctBy(a => a.Original.Hash)) .DistinctBy(a => a.Original.Hash))
@ -476,10 +476,10 @@ public class ValidateLists : IVerb
return $"{definition!.Hash.ToHex()}/parts/{idx}"; return $"{definition!.Hash.ToHex()}/parts/{idx}";
} }
/* Outdated foreach (var part in definition.Parts)
await definition.Parts.PDo(_parallelOptions, async part =>
{ {
_logger.LogInformation("Uploading mirror part of {name} {hash} ({index}/{length})", archive.Name, archive.Hash, part.Index, definition.Parts.Length); _logger.LogInformation("Uploading mirror part of {Name} {Hash} ({Index}/{Length})", archive.Name,
archive.Hash, part.Index, definition.Parts.Length);
using var job = await _ftpRateLimiter.Begin("Uploading mirror part", part.Size, token); using var job = await _ftpRateLimiter.Begin("Uploading mirror part", part.Size, token);
var buffer = new byte[part.Size]; var buffer = new byte[part.Size];
@ -489,17 +489,16 @@ public class ValidateLists : IVerb
await fs.ReadAsync(buffer, token); await fs.ReadAsync(buffer, token);
} }
var tsk = job.Report((int)part.Size, token); var tsk = job.Report((int) part.Size, token);
await CircuitBreaker.WithAutoRetryAllAsync(_logger, async () =>{ await CircuitBreaker.WithAutoRetryAllAsync(_logger, async () =>
{
using var client = await GetMirrorFtpClient(token); using var client = await GetMirrorFtpClient(token);
var name = MakePath(part.Index); var name = MakePath(part.Index);
await client.UploadAsync(new MemoryStream(buffer), name, token: token); await client.UploadAsync(new MemoryStream(buffer), name, token: token);
}); });
await tsk; await tsk;
}
});
*/
await CircuitBreaker.WithAutoRetryAllAsync(_logger, async () => await CircuitBreaker.WithAutoRetryAllAsync(_logger, async () =>
{ {
using var client = await GetMirrorFtpClient(token); using var client = await GetMirrorFtpClient(token);