public async Task SaveLogPosition(ExtendedEventsPosition position) { using (var context = new ClickHouseContext(_connectionString)) { await context.SaveLogPosition(_xEventsLog, position); } }
public async Task Save(List <XEventData> eventsData) { using (var context = new ClickHouseContext(_connectionString)) { await context.SaveRowsData(_xEventsLog, eventsData); } }
public async Task <ExtendedEventsPosition> GetLastPosition(string fileName) { using (var context = new ClickHouseContext(_connectionString)) { return(await context.GetLogFilePosition(_xEventsLog, fileName)); } }
public async Task <bool> LogFileLoaded(string fileName) { using (var context = new ClickHouseContext(_connectionString)) { return(await context.LogFileLoaded(fileName)); } }
public async Task SaveLogPosition(FileInfo logFileInfo, ExtendedEventsPosition position, bool finishReadFile) { using (var context = new ClickHouseContext(_connectionString)) { if (await LogFileLoaded(logFileInfo.FullName)) { return; } ; await context.SaveLogPosition(logFileInfo, position, finishReadFile); if (_currentStepToClearLogFiles == 0 || _currentStepToClearLogFiles >= _stepsToClearLogFiles) { await context.RemoveArchiveLogFileRecords(logFileInfo.Name); _currentStepToClearLogFiles = 0; } _currentStepToClearLogFiles += 1; } }
public async Task Save(IList <XEventData> eventsData) { using (var context = new ClickHouseContext(_connectionString)) { List <XEventData> newEntities = new List <XEventData>(); foreach (var itemRow in eventsData) { if (itemRow == null) { continue; } if (!_maxPeriodsByFiles.TryGetValue(itemRow.FileName, out var maxPeriod)) { maxPeriod = await context.GetRowsDataMaxPeriod(itemRow.FileName); _maxPeriodsByFiles.Add(itemRow.FileName, maxPeriod); } if (maxPeriod != DateTime.MinValue) { if (itemRow.Timestamp.DateTime < maxPeriod) { continue; } if (itemRow.Timestamp.DateTime == maxPeriod) { if (await context.RowDataExistOnDatabase(itemRow.FileName, itemRow)) { continue; } } } newEntities.Add(itemRow); } await context.SaveRowsData(newEntities); } }