コード例 #1
0
        internal void start(string systemName)
        {
            LogC.info("starting " + systemName);

            if (BloombergTagsTable.TAGS.anyAutoExecute(systemName) && !FerretControl.status().Equals("Stage"))
            {
                Email.problem("Can't start autoex system " + systemName, "Ferret is not in Stage mode!").sendTo(Systematic.failureAddress());
                return;
            }
            if (inTestMode)
            {
                fakeStarts.Add(systemName); return;
            }
            processes[systemName] = Process.Start(QRUN, "Q.Simulator.Live -system " + systemName + " -prefix " + OrderTable.prefix);
        }
コード例 #2
0
        internal void run()
        {
            loadSharedDrives();
            LogC.useJavaLog = true;
            LogC.setOut("launcher", @"C:\logs\LiveLauncher.log", true);
            try {
                O.wait(() => !FerretControl.status().Equals("Unknown"));
            } catch (Exception e) {
                Email.problem("Cannot start Tomahawk - Ferret is DOWN?", "Cannot get Ferret status.  Is it down?").sendTo("live");
                Bomb.toss("Cannot get Ferret status", e);
            }
            Console.CancelKeyPress += (sender, unused) => O.eachValue(processes, killIfNeeded);

            killTopic().subscribe(kill);
            restartTopic().subscribe(restart);
            initiateHeartbeat();
        }