public async Task RemoveObsoleteLines() { // Start watch var stopwatch = new Stopwatch(); stopwatch.Start(); // Get lines to be removed var lines = await _mainDbContext.Lines.Where(LineExpression.ObsoleteLine()).ToListAsync(); // Remove _mainDbContext.Lines.RemoveRange(lines); // Save await _mainDbContext.SaveChangesAsync(); // Stop watch stopwatch.Stop(); // Log into Splunk _logger.LogSplunkInformation("RemoveObsoleteLines", new { lines.Count, ExecutionTime = stopwatch.Elapsed.TotalSeconds }); }
public async Task Run() { try { // Start watch var stopwatch = new Stopwatch(); stopwatch.Start(); // Get lines to be removed var lines = await _lineRepository.GetAll(LineExpression.ObsoleteLine()); // Remove _lineRepository.RemoveRange(lines); // Save await _mainDbContext.SaveChangesAsync(); // Stop watch stopwatch.Stop(); // Log into Splunk _logger.LogSplunkJob(new { lines.Count, ExecutionTime = stopwatch.Elapsed.TotalSeconds }); // Return await Task.CompletedTask; } catch (Exception ex) { // Log into Splunk _logger.LogSplunkJob(new { JobFailed = ex.Message }); // Log error into Splunk _logger.LogSplunkError(ex); } }
public async Task RemoveObsoleteLines() { // Start watch var stopwatch = new Stopwatch(); stopwatch.Start(); // Get lines to be removed var lines = await _mainDbContext.Lines.Where(LineExpression.ObsoleteLine(_appSettings.LineRetention)).ToListAsync(); // Remove _mainDbContext.Lines.RemoveRange(lines); // Save await _mainDbContext.SaveChangesAsync(); // Stop watch stopwatch.Stop(); // Log _logger.LogInformation("{@Event}, {@Count}, {@ExecutionTime}", "ObsoleteLinesRemoved", lines.Count, stopwatch.Elapsed.TotalSeconds); }