//------------------------------------------------ // 主入口 //------------------------------------------------ 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(); }
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."); }
public static bool StopServices() { NetworkService.StopService(); MessageQueueService.StopService(); ScheduleEngine.Stop(); logger.Info("Schedule engine stopped."); return(true); }
public static bool StartServices() { MessageQueueService.StartService(); NetworkService.StartService(); ScheduleEngine.Start(); logger.Info("Schedule engine started."); return(true); }
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"); }
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(); }
/// <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"); } }
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(); }
public void Initialize() { _mockStore = new Mock <IPatientStore>(); _SUT = new ScheduleEngine(_mockStore.Object); }