static void Main(string[] args) { try { InitSettings(); //runTimeConfig = LoadConfig(@"C:\Users\Ext-D.Sushchevskii\Documents\Replica2\Groups\1 wave\AST.cnfgroup"); runTimeConfig = LoadConfig(args[0]); if (runTimeConfig.isValid) { OperateAuto(); } else { Console.WriteLine("Операция невозможна в ручном режиме"); } if (pullers.Count > 0) { AsyncSQLConnectPuller puller = pullers.First(x => x.Status == RunningStatusEnum.NotRunning); Console.WriteLine(""); Console.WriteLine("================================================"); Console.WriteLine(String.Format("Начинается обработка региона {0}", puller.RegionID)); puller.operatePull(); } } catch (Exception exception) { Console.WriteLine(exception.Message); } finally { Console.ReadKey(); } }
private static void AsyncSqlPuller_StatusChanged(AsyncSQLConnectPuller sender, AsyncStatusChangedEventArgs e) { if (e.NewStatus == RunningStatusEnum.Completed) { Console.WriteLine("Обработка завершена"); Console.WriteLine(String.Format("Количество обработанных записей {0}, из них успешно {1}, с ошибками {2}", sender.LogList.Count, sender.LogList.Count(x => x.Status == TaskRunningStatus.Success), sender.LogList.Count(x => x.Status == TaskRunningStatus.Failure))); Console.WriteLine("Подробности в файлах лога"); Console.WriteLine(""); Console.WriteLine("================================================"); if (!pullers.All(x => x.Status == RunningStatusEnum.Completed)) { AsyncSQLConnectPuller puller = pullers.FirstOrDefault(x => x.Status == RunningStatusEnum.NotRunning); if (puller != null) { Console.WriteLine(""); Console.WriteLine("================================================"); Console.WriteLine(String.Format("Начинается обработка региона {0}", puller.RegionID)); puller.operatePull(); } } else { if (sqlConnection.State == System.Data.ConnectionState.Open) { sqlConnection.Close(); } if (timer.IsRunning) { timer.Stop(); } Console.WriteLine(String.Format("Обработка завершена за {0:d2}:{1:d2}:{2:d2}", timer.Elapsed.Minutes, timer.Elapsed.Seconds, timer.Elapsed.Milliseconds)); } } }