public static void Register() { DateTime now = DateTime.Now; // 2. 스케줄러에 필요한 요원(Agent)를 등록한다. // 요원이 없다. // 3. 스케줄러에 필요한 타임스케줄을 등록한다. { // 장시작한다. DateTime dt = new DateTime(now.Year, now.Month, now.Day, 9 + Const.kHourAdjustment_Start, 0, 0); TimeSchedule ts = new TimeSchedule(dt.Ticks, TimeSchedule.Command.StartAllAgent); TimeScheduler.Ins().AddTimeSchedule(ts); } { // 프로세스를 끝낸다. DateTime dt = new DateTime(now.Year, now.Month, now.Day, 15 + Const.kHourAdjustment_End, 16, 0); TimeSchedule ts = new TimeSchedule(dt.Ticks, TimeSchedule.Command.ExitProgram); TimeScheduler.Ins().AddTimeSchedule(ts); } // 4. 요원을 Start한다. // 요원이 없다. // 5. Key Data역할을 하는 TermMarketDataObservation을 Start한다. // '3'번에서 스케줄러를 등록했기 때문에 필요가 없다. ScheduleManager.Ins().ForcedStartAllSchedule(); }
private static void AddTimeSchedule() { DateTime now = DateTime.Now; { // 장시작한다. DateTime dt = new DateTime(now.Year, now.Month, now.Day, 9 + Const.kHourAdjustment_Start, 0, 0); TimeSchedule ts = new TimeSchedule(dt.Ticks, TimeSchedule.Command.StartAllAgent); TimeScheduler.Ins().AddTimeSchedule(ts); } }
public void AddTimeSchedule(TimeSchedule ts) { try { while (_timeSchedules.ContainsKey(ts._Time)) { ++ts._Time; } _timeSchedules.Add(ts._Time, ts); } catch (System.Exception ex) { logger.Error(ex.ToString()); Util.KillWithNotice(ex.ToString()); } }