Esempio n. 1
0
        public static void Schedule(bool runImmediately = false)
        {
            SchedulingManager manager = SchedulingManager.GetManager();

            var task = ReportsImportTaskHelper.GetTask();

            if (task == null)
            {
                ReportsImportScheduledTask newTask = new ReportsImportScheduledTask()
                {
                    Key = taskKey
                };

                if (runImmediately)
                {
                    newTask.ExecuteTime = DateTime.UtcNow.AddSeconds(-10);
                }
                else
                {
                    newTask.ExecuteTime = DateTime.UtcNow.AddSeconds(30 * 60);
                }

                manager.AddTask(newTask);
                manager.SaveChanges();
            }
            else
            {
                if (runImmediately)
                {
                    if (!task.IsRunning || task.Status == TaskStatus.Failed)
                    {
                        manager.DeleteTaskData(task);

                        ReportsImportScheduledTask newTask = new ReportsImportScheduledTask()
                        {
                            Key              = taskKey,
                            ExecuteTime      = DateTime.UtcNow.AddSeconds(-10),
                            LastExecutedTime = DateTime.UtcNow
                        };

                        manager.AddTask(newTask);
                        manager.SaveChanges();
                    }
                }
            }
        }
Esempio n. 2
0
        /// <summary>
        /// CreateTask
        /// </summary>
        public static void CreateTask()
        {
            SchedulingManager manager = SchedulingManager.GetManager();
            string            title   = "RenewContentTask";

            var tasks = manager.GetTaskData().Where(i => i.Title == title);

            foreach (var task in tasks)
            {
                manager.DeleteTaskData(task);
            }
            RenewContentTask newTask = new RenewContentTask()
            {
                Title       = title,
                ExecuteTime = DateTime.UtcNow.AddMinutes(1),
            };

            manager.AddTask(newTask);
            manager.SaveChanges();
        }