Revert "try making batch saves non-async"

This reverts commit d566db9e59.
This commit is contained in:
Collin Barrett 2018-08-20 17:15:02 -05:00
parent e3abf396eb
commit a2e1abbea5
2 changed files with 8 additions and 7 deletions

View file

@ -62,7 +62,7 @@ private async Task SaveAsync()
var lines = await TryGetLines();
if (lines != null)
{
SaveInBatches(lines);
await SaveInBatches(lines);
await DedupSnapshotRules();
await SetSuccessful();
}
@ -110,19 +110,19 @@ private async Task<IEnumerable<string>> GetLines()
return lines;
}
private void SaveInBatches(IEnumerable<string> lines)
private async Task SaveInBatches(IEnumerable<string> lines)
{
var snapshotBatches = CreateBatches(lines);
SaveBatches(snapshotBatches);
await SaveBatches(snapshotBatches);
}
private IEnumerable<SnapshotBatch> CreateBatches(IEnumerable<string> lines) =>
lines.Batch(BatchSize).Select(b => new SnapshotBatch(dbContext, b, snapEntity));
private static void SaveBatches(IEnumerable<SnapshotBatch> batches)
private static async Task SaveBatches(IEnumerable<SnapshotBatch> batches)
{
foreach (var batch in batches)
batch.Save();
await batch.SaveAsync();
}
private async Task DedupSnapshotRules()

View file

@ -1,5 +1,6 @@
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using FilterLists.Data;
using FilterLists.Data.Entities;
using FilterLists.Data.Entities.Junctions;
@ -21,14 +22,14 @@ public SnapshotBatch(FilterListsDbContext dbContext, IEnumerable<string> lines,
this.snapEntity = snapEntity;
}
public void Save()
public async Task SaveAsync()
{
var existingRules = GetExistingRules();
var newRules = CreateNewRules(existingRules);
dbContext.Rules.AddRange(newRules);
var rules = existingRules.Concat(newRules);
AddSnapshotRules(rules);
dbContext.SaveChanges();
await dbContext.SaveChangesAsync();
}
private IQueryable<Rule> GetExistingRules() =>