/// <summary> /// args[0] - id закачки; /// args[1] - тип конфигурации: -h - история, -s - строка -f - файл /// args[2] - конфигурация: в зависимости от args[1] это строка конфигурации или имя файла /// </summary> static void Main(string[] args) { try { context = new ETLContext(Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "Config", "ETLSettings.json")); context.Initialize(); context.DB.Connect(); decimal sessNo = Convert.ToDecimal(args[0]); historyRecord = context.History[sessNo]; JObject config = null; switch (args[1]) { case "-f": config = JsonCommon.Load(Path.Combine(context.Settings.Registry.ProgramsPath, args[2])); break; case "-h": config = (JObject)JsonConvert.DeserializeObject(historyRecord.config); break; case "-s": config = (JObject)JsonConvert.DeserializeObject(args[2]); break; } if (config == null) { return; } // Инициализация Init(sessNo, config["id"].ToString(), config["module"].ToString()); // Выполнение Exec(sessNo, config); } catch (Exception ex) { Logger.WriteToTrace($"Критическая ошибка загрузки закачки: {ex}", TraceMessageKind.CriticalError); } finally { program?.Dispose(); Logger.CloseLogFile(); } }
/// <summary> /// Конструктор /// </summary> public ELTManager() { string baseDir = AppDomain.CurrentDomain.BaseDirectory; Context = new ETLContext(Path.Combine(baseDir, "Config", "ETLSettings.json")); // Соединение с базой try { Context.Initialize(); } catch (Exception ex) { Logger.WriteToTrace($"Ошибка при подключении к базе: {ex}", TraceMessageKind.Error); } InitPumpsList(); InitJWT(); InitBroadcast(); InitUpdateManager(); }