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 }); }