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); }
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(); }