Пример #1
0
        public void Start(HttpContextBase httpContext)
        {
            var tasks = _taskService.GetAllTasks(true);

            _taskService.CalculateFutureSchedules(tasks, true /* isAppStart */);

            var baseUrl = CommonHelper.GetAppSetting <string>("sm:TaskSchedulerBaseUrl");

            if (baseUrl.IsWebUrl())
            {
                _taskScheduler.BaseUrl = baseUrl;
            }
            else
            {
                // autoresolve base url
                _taskScheduler.SetBaseUrl(_storeService, httpContext);
            }

            _taskScheduler.SweepIntervalMinutes = CommonHelper.GetAppSetting <int>("sm:TaskSchedulerSweepInterval", 1);
            _taskScheduler.Start();

            Logger.Info("Initialized TaskScheduler with base url '{0}'".FormatInvariant(_taskScheduler.BaseUrl));

            _eventPublisher.Publish(new AppInitScheduledTasksEvent {
                ScheduledTasks = tasks
            });
        }