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);
     }
 }
예제 #3
0
 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());
     }
 }