예제 #1
0
        private void RunServiceJob(IServiceJob job, TimeSpan timeout)
        {
            job.ShouldNotBeNull("job");

            if (IsDebugEnabled)
            {
                log.Debug(@"서비스 작업[{0}]을 실행합니다...", job.Name);
            }

            try {
                _scheduler = _factory.GetScheduler();
                _scheduler.Start();

                _scheduler.ScheduleServiceJob(job);

                Thread.Sleep(timeout);
            }
            finally {
                _scheduler.Shutdown(true);

                if (IsDebugEnabled)
                {
                    log.Debug(@"서비스 작업[{0}] 실행을 완료했습니다.", job.Name);
                }
            }
        }
예제 #2
0
        /// <summary>
        /// Job 상태정보를 담은 <see cref="JobDataMap"/>에서 해당 키의 값을 반환합니다. 없으면, null을 반환합니다.
        /// </summary>
        public static object GetJobData(this IServiceJob serviceJob, object key)
        {
            serviceJob.ShouldNotBeNull("serviceJob");

            if (serviceJob is JobDetail)
            {
                return(((JobDetail)serviceJob).GetJobData(key));
            }

            return(null);
        }
예제 #3
0
        private void RunServiceJob(IServiceJob job, TimeSpan timeout) {
            job.ShouldNotBeNull("job");

            if(IsDebugEnabled)
                log.Debug(@"서비스 작업[{0}]을 실행합니다...", job.Name);

            try {
                _scheduler = _factory.GetScheduler();
                _scheduler.Start();

                _scheduler.ScheduleServiceJob(job);

                Thread.Sleep(timeout);
            }
            finally {
                _scheduler.Shutdown(true);

                if(IsDebugEnabled)
                    log.Debug(@"서비스 작업[{0}] 실행을 완료했습니다.", job.Name);
            }
        }