예제 #1
0
        public void AddSchedule(ISchedule schedule)
        {
            lock (locker)
            {
                try
                {
                    // DateTime.Now.Ticks로 1000 * 10000이 실제 시간 1sec이다.
                    long time = DateTime.Now.Ticks + schedule.GetPeriod() * _TimeUnit;

                    while (_schedules.ContainsKey(time))
                    {
                        ++time;
                    }
                    _schedules.Add(time, schedule);
                    logger.Info("'{0}' schedule is added...", schedule.GetName());
                }
                catch (System.Exception ex)
                {
                    logger.Error(ex.ToString());
                    Util.KillWithNotice(ex.ToString());
                }
            }
        }