Beispiel #1
0
        public static void Main(string[] args)
        {
            // Arguments Parse.
            ArgParser.Decomposition(args);

            // Config Setup
            if (!Settings.DoSkipConfigGenerate)
            {
                ConfigExporter.onTemplateGenerate();
            }

            ConfigModel config = ConfigImporter.onDeserialize();

            Settings.DataBaseUserName = config.DB_ACCESS_USERNAME;
            Settings.DataBasePassWord = config.DB_ACCESS_PASSWORD;
            Settings.IgnoreDataArray  = string.Join(',', config.ignoreData);

            // Make Status Folder
            StatusChecker.MakeStatusDir();

            // Start Message
            AlConsole.WriteLine(LauncherInfoScheme, $"Start Up RavenLauncher.");

            ScheduledTasks.Fire();
            AlConsole.WriteLine(LauncherCautScheme, "> Press Enter, Launcher to Stop. <");
            Console.ReadLine();
            AlConsole.WriteLine(LauncherCautScheme, "Stopped Launcher.");

            /*
             * // Arguments Parse.
             * ArgParser.Decomposition(args);
             *
             *
             * // Setup
             * if (!StatusChecker.IsDownloaded()) {
             *  RavenSetupProcess.BuildController(Settings.CloneDir);
             *  Settings.RecvFile.Create();
             * }
             *
             * // Service Starter
             * ScheduledTasks.Fire();
             * AlConsole.WriteLine(LauncherCautScheme, "> Press Enter, Launcher to Stop. <");
             * Console.ReadLine();
             * AlConsole.WriteLine(LauncherCautScheme, "Stopped Launcher.");
             */
        }
Beispiel #2
0
        private static void OnTimeEvent(object obj, ElapsedEventArgs eventArgs)
        {
            _timer.Start();
            AlConsole.WriteLine(RunCollectorScheme, "Collect Start");
            int statusCode = CollectStart();

            if (statusCode != 0)
            {
                AlConsole.WriteLine(FailureCollectScheme, "コントローラーの起動に失敗しました。");
                Interval();
                if (!StatusChecker.IsRecoveryMode())
                {
                    Settings.RecvFile.Create();
                }
                using (StreamWriter writer = new StreamWriter(Settings.StatusDir + Settings.RecoveryStat, true)) {
                    writer.Write($"Recovery Boot Time:{DateTime.Now:g}\n");
                    AlConsole.WriteLine(RecoveryBootScheme, "コントローラーを再起動します。");
                    for (int i = 0; i < 5; i++)
                    {
                        statusCode = CollectStart();
                        if (statusCode != 0)
                        {
                            AlConsole.WriteLine(FailureCollectScheme, "コントローラーの再起動に失敗しました。");
                            AlConsole.WriteLine(FailureCollectScheme,
                                                i < 4 ? $"リトライします。[{i + 1}]" : $"起動に{i + 1}回失敗しました。強制終了します。");
                            Interval();
                            writer.Write($"Recovery Boot Time:{DateTime.Now:g}\n");
                        }
                        else
                        {
                            AlConsole.WriteLine(FailureCollectScheme, $"リカバリーに成功しました。");
                            writer.Write($"Successfully Recovery Boot Time:{DateTime.Now:g}\n");
                            break;
                        }
                    }
                }
            }
            AlConsole.WriteLine(RunCollectorScheme, "Collect Finished Successfully!");
            AlConsole.WriteLine(LauncherInfoScheme, "Set Next Scheduled!");
        }