public async Task StopScavenge(ScavengeInstance scavengeInstance) { var uri = $"http://{NodeHttpEndpoint}/admin/scavenge/{scavengeInstance.Id}"; await uri .WithBasicAuth(_user, _pass) .DeleteAsync(); }
/// <summary> /// TODO - handle multiple threads /// One thread could end up significantly behind and you'd end up misreporting the last chunk /// Probably good enough for now /// </summary> /// <param name="scavengeInstance"></param> /// <returns></returns> public async Task <ScavengeChunkProgress> FindLastScavengedChunk(ScavengeInstance scavengeInstance) { return(await ReadStreamBackward($"$scavenges-{scavengeInstance.Id}") .Where(e => e.EventType == "$scavengeChunksCompleted") .Select(e => new ScavengeChunkProgress { Scavenge = scavengeInstance, ChunkNumber = e.JsonData.chunkStartNumber, Timestamp = e.Timestamp }) .FirstAsync()); }