コード例 #1
0
ファイル: Program.cs プロジェクト: BlueBlock/App.Schedule
        //------------------------------------------------
        // 主入口
        //------------------------------------------------
        static void Main(string[] args)
        {
            // 确保只有一个程序在运行
            if (AreadyExistInstance())
            {
                Console.WriteLine("本程序已有一个实例在运行。");
                return;
            }

            // 设置关闭事件
            //SetConsoleCtrlHandler(new AppQuitDelegate(AppQuit), true);

            // 开启任务引擎
            var version = Assembly.GetExecutingAssembly().GetName().Version;
            var folder  = new FileInfo(Assembly.GetExecutingAssembly().Location).DirectoryName;

            Console.WriteLine("App.Schedule consoler {0}", version);
            string configFile = string.Format("{0}\\schedule.config", folder);

            engine = new ScheduleEngine(configFile);
            engine.ConfigFailure += (info) => Logger.Error("{0}", info);
            //engine.ConfigSave += (cfg) => cfg.Save();
            engine.TaskSuccess += (task, info) => Logger.Info("{0} {1} ok", task.Name, task.Data);
            engine.TaskFailure += (task, info) => Logger.Warn("{0} {1} fail, times={2}, info={3}", task.Name, task.Data, task.Failure.TryTimes, info);
            engine.Start();
        }
コード例 #2
0
ファイル: Program.cs プロジェクト: irengine/monitor
        static void Main(string[] args)
        {
            logger.Info("Monitor started.");

            GetProjects();

            StartServices();

            foreach (string projectId in SystemInternalSetting.Projects.Keys)
            {
                ScheduleEngine.ScheduleHeartbeatJob(projectId);
                ScheduleEngine.ScheduleSqlJob(projectId);
            }

            // Sample report message
            MessageFactory.CreateReport("P1", "G1");

            Console.WriteLine(">>>Enter 'Exit' to exit monitor.");
            Console.Write(">");

            while (!Console.ReadLine().ToUpper().Equals("EXIT"))
            {
                Console.Write(">");
            }


            StopServices();

            logger.Info("Monitor stopped.");
        }
コード例 #3
0
        public static bool StopServices()
        {
            NetworkService.StopService();

            MessageQueueService.StopService();

            ScheduleEngine.Stop();
            logger.Info("Schedule engine stopped.");

            return(true);
        }
コード例 #4
0
        public static bool StartServices()
        {
            MessageQueueService.StartService();

            NetworkService.StartService();

            ScheduleEngine.Start();
            logger.Info("Schedule engine started.");

            return(true);
        }
コード例 #5
0
        private static void Start()
        {
            logger.Info("Monitor started.");

            GetProjects();

            StartServices();

            foreach (string projectId in SystemInternalSetting.Projects.Keys)
            {
                ScheduleEngine.ScheduleHeartbeatJob(projectId);
                ScheduleEngine.ScheduleSqlJob(projectId);
            }

            // Sample report message
            MessageFactory.CreateReport("P1", "G1");
        }
コード例 #6
0
        public SchedulerService()
        {
#if (DEBUG == false)
            //	Auto Log to the Event Log in Release mode only
            this.AutoLog = true;
#endif
            this.ServiceName                 = SERVICENAME;
            this.CanShutdown                 = true;
            this.CanStop                     = true;
            this.CanPauseAndContinue         = true;
            this.CanHandlePowerEvent         = false;
            this.CanHandleSessionChangeEvent = false;

            AppDomain.CurrentDomain.UnhandledException += CurrentDomain_UnhandledException;
            m_logger = LogProvider.Instance.Logger;

            m_scheduleEngine = new ScheduleEngine();
        }
コード例 #7
0
        /// <summary>
        ///     Execute all the services
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void DoWork(object sender, DoWorkEventArgs e)
        {
            Logger.Info("starting irc");

            if (Config.GetBoolValue(Globals.YokXmlUseirc))
            {
                if (!IrcEngine.GetInstance().Start())
                {
                    Logger.Error("Irc start failed");
                }
            }
            else
            {
                if (!IrcEngine.GetInstance().Stop())
                {
                    Logger.Error("Irc stop failed");
                }

                Logger.Info("IRC DISABLED");
            }

            Logger.Info("starting email");

            if (Config.GetBoolValue(Globals.YokXmlUseemail))
            {
                if (ScheduleEngine.Check())
                {
                    if (!EmailEngine.Send())
                    {
                        Logger.Error("Email send failed");
                    }
                }
                else
                {
                    Logger.Info("Data not ready to send");
                }
            }
            else
            {
                Logger.Info("EMAIL DISABLED");
            }
        }
コード例 #8
0
        static void Main(string[] args)
        {
            //These file path are in Assets folder (make sure they exist in bin)
            var scheduleFilePath = ConfigurationManager.AppSettings["scheduleFile"];
            var orderFilePath    = ConfigurationManager.AppSettings["orderFile"];

            Console.WriteLine("** User Story 1 **");
            Console.WriteLine();
            var scheduleEngine = new ScheduleEngine(scheduleFilePath);

            scheduleEngine.DoWork();

            Console.WriteLine();

            Console.WriteLine("** User Story 2 **");
            Console.WriteLine();
            var orderEngine = new OrderEngine(orderFilePath);

            orderEngine.DoWork();

            Console.ReadLine();
        }
コード例 #9
0
 public void Initialize()
 {
     _mockStore = new Mock <IPatientStore>();
     _SUT       = new ScheduleEngine(_mockStore.Object);
 }