Exemplo n.º 1
0
        private void HandleCheckTimer(object sender, EventArgs e)
        {
            DateTime thisTime = Stocks.ServerTime.GetRealTime();

            if (thisTime.Hour < 10 || (thisTime.Hour == 18 && thisTime.Minute >= 45))
            {
                Console.WriteLine("No Check is Made - Not a Trade Time");
                return;
            }
            StocksConsistency consistency;

            try
            {
                consistency = CheckStocksConsistency();
                Console.WriteLine(Stocks.ServerTime.GetRealTime().ToString() + ": Robot: Check Result - " + consistency);
                if (consistency == StocksConsistency.INCONSISTENT)
                {
                    InformManager("Monitor: Stocks Interrupted", "Program stopped working. Will be restarted by Monitor");
                    RestartProcess("Stocks");
                }

                ListenerConsistency listenerConsistency = CheckListenerConsistency();
                Console.WriteLine(DateTime.Now.ToString() + ": Listener: Check Result - " + listenerConsistency);
                if (listenerConsistency != ListenerConsistency.CONSISTENT)
                {
                    InformManager("Monitor: Listener Interrupted", "Cannot ping Listener. Will be restarted by Monitor");
                    RestartProcess("Listener");
                }
            } catch (Exception)
            {
                InformManager("Monitor: Something went wrong", "Database Request Failed. User actions needed.");
            }
        }
Exemplo n.º 2
0
        static void Main(string[] args)
        {
            Monitor monitor = new Monitor();

            Console.WriteLine("Monitor Started ...");
            while (true)
            {
                string cmd = Console.ReadLine();
                if (cmd.Equals("check stocks"))
                {
                    StocksConsistency csy = monitor.CheckStocksConsistency();
                    Console.WriteLine(DateTime.Now.ToString() + ": Check Result - " + csy);
                    if (csy != StocksConsistency.CONSISTENT)
                    {
                        Monitor.RestartProcess("Stocks");
                    }
                }

                else if (cmd.Equals("check listener"))
                {
                    ListenerConsistency csy = monitor.CheckListenerConsistency();
                    Console.WriteLine(DateTime.Now.ToString() + ": Check Result - " + csy);
                    if (csy != ListenerConsistency.CONSISTENT)
                    {
                        Monitor.RestartProcess("Listener");
                    }
                }

                else if (cmd.Equals("restart listener"))
                {
                    Monitor.RestartProcess("Listener");
                }
                else if (cmd.Equals("restart stocks"))
                {
                    Monitor.RestartProcess("Stocks");
                }
                else if (cmd.Equals("clear"))
                {
                    monitor.ClearDB();
                }
                else if (cmd.Equals("exit"))
                {
                    return;
                }
                else
                {
                    Console.WriteLine("Unknown command");
                }
            }
        }