Пример #1
0
        public static void ScheduleTask(DateTime executeTime)
        {
            SchedulingManager schedulingManager = SchedulingManager.GetManager();

            var existingTask = schedulingManager.GetTaskData().FirstOrDefault(x => x.Key == HashtagSearchScheduledTask.TaskKey);

            if (existingTask == null && usgConfig.RunHashtagSearch && !usgConfig.UserKey.IsNullOrWhitespace())
            {
                // Create a new scheduled task
                HashtagSearchScheduledTask newTask = new HashtagSearchScheduledTask()
                {
                    ExecuteTime = executeTime
                };
                schedulingManager.AddTask(newTask);
            }
            else if (usgConfig.RunHashtagSearch && !usgConfig.UserKey.IsNullOrWhitespace())
            {
                // Updates the existing scheduled task
                existingTask.ExecuteTime = executeTime;
            }
            else
            {
                //Delete the task
                schedulingManager.DeleteItem(existingTask);
            }

            SchedulingManager.RescheduleNextRun();
            schedulingManager.SaveChanges();
        }
Пример #2
0
        internal static void AddScheduledTask(ScheduledTask newTask)
        {
            SchedulingManager manager = SchedulingManager.GetManager();

            manager.AddTask(newTask);
            manager.SaveChanges();
        }
Пример #3
0
        public void InsertToDoTest()
        {
            SchedulingManager ngm = new SchedulingManager();

            PostInsertToDoRequest request = new PostInsertToDoRequest
            {
                Version        = version,
                ContractNumber = contractNumber,
                UserId         = userId,
                ToDo           = new AppDomain.NG.DTO.ToDo
                {
                    AssignedToId = "5325c821072ef705080d3489",
                    CategoryId   = "53f7964cd433231edc7d24ce",
                    Description  = "app domain desc 2",
                    DueDate      = DateTime.UtcNow,
                    PatientId    = "5325db87d6a4850adcbba986",
                    PriorityId   = 0,
                    ProgramIds   = new List <string> {
                        "532caae9a38116ac18000846"
                    },
                    Title = "app domain title 2",
                }
            };

            PostInsertToDoResponse response = ngm.InsertToDo(request);

            Assert.IsNotNull(response);
        }
Пример #4
0
 private void PersistState()
 {
     if (base.Id != Guid.Empty)
     {
         SchedulingManager schedulingManager = new SchedulingManager();
         this.CopyToTaskData(schedulingManager.GetTaskData(base.Id));
         schedulingManager.SaveChanges();
     }
 }
Пример #5
0
        public static ScheduledTaskData GetTask()
        {
            SchedulingManager manager = SchedulingManager.GetManager();

            ScheduledTaskData task = manager.GetTaskData()
                                     .Where(i => i.Key == taskKey)
                                     .SingleOrDefault();

            return(task);
        }
Пример #6
0
        public ScheduledTaskStatusModel()
        {
            SchedulingManager schedulingManager = SchedulingManager.GetManager();

            var now = DateTime.Now;

            this.AllTasks    = schedulingManager.GetTaskData();
            this.FutureTasks = this.AllTasks.Where(x => x.ExecuteTime >= now);
            this.FailedTasks = this.AllTasks.Where(x => x.ExecuteTime < now);
            this.CronJobs    = this.AllTasks.Where(x => x.TypeOfSchedule == "crontab");
        }
Пример #7
0
        internal static void RemoveScheduledTasks()
        {
            SchedulingManager manager = SchedulingManager.GetManager();

            IList <ScheduledTaskData> scheduledItems = SchedulingManager.GetTasksFromAllProviders(t => t.TaskName == ImageOptimizationTask.GetTaskName());

            foreach (ScheduledTaskData task in scheduledItems)
            {
                manager.DeleteItem(task);
            }

            manager.SaveChanges();
        }
        private void RescheduleTask()
        {
            SchedulingManager schedulingManager = SchedulingManager.GetManager();

            ReportsImportScheduledTask newTask = new ReportsImportScheduledTask()
            {
                Key              = this.Key,
                ExecuteTime      = DateTime.UtcNow.AddSeconds(30 * 60),
                LastExecutedTime = this.LastExecutedTime
            };

            schedulingManager.AddTask(newTask);
            SchedulingManager.RescheduleNextRun();
            schedulingManager.SaveChanges();
        }
        private List <ScheduledTaskData> GetScheduledTasks()
        {
            var manager = SchedulingManager.GetManager();

            // we don't need total count
            int?count = null;

            var tasks = DataProviderBase.SetExpressions(manager.GetTaskData(),
                                                        FilterExpression,
                                                        OrderExpression,
                                                        null,
                                                        null,
                                                        ref count);

            return(tasks.ToList());
        }
Пример #10
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();
                    }
                }
            }
        }
Пример #11
0
        public override void ExecuteTask()
        {
            SearchSocial();

            if (usgConfig.RunHashtagSearch && !usgConfig.UserKey.IsNullOrWhitespace())
            {
                SchedulingManager schedulingManager = SchedulingManager.GetManager();

                HashtagSearchScheduledTask newTask = new HashtagSearchScheduledTask()
                {
                    ExecuteTime = DateTime.UtcNow.AddMinutes(usgConfig.SearchFrequency).ToUniversalTime()
                };

                schedulingManager.AddTask(newTask);
                schedulingManager.SaveChanges();
            }
        }
Пример #12
0
        private Guid StartOptimizeAlbumItemsTask(Guid albumId)
        {
            SchedulingManager manager = SchedulingManager.GetManager();

            Guid guid = Guid.NewGuid();

            AlbumOptimizationTask albumOptimizationTask = new AlbumOptimizationTask()
            {
                Id      = guid,
                AlbumId = albumId
            };

            manager.AddTask(albumOptimizationTask);

            manager.SaveChanges();

            return(guid);
        }
Пример #13
0
        public PostUpdateToDoResponse Post(PostUpdateToDoRequest request)
        {
            PostUpdateToDoResponse response = new PostUpdateToDoResponse();
            SchedulingManager      toDoMgr  = new SchedulingManager();
            ValidateTokenResponse  result   = null;

            try
            {
                request.Token = base.Request.Headers["Token"] as string;
                result        = Security.IsUserValidated(request.Version, request.Token, request.ContractNumber);
                if (result.UserId.Trim() != string.Empty)
                {
                    request.UserId = result.UserId;
                    response       = toDoMgr.UpdateToDo(request);
                }
                else
                {
                    throw new UnauthorizedAccessException();
                }
            }
            catch (Exception ex)
            {
                CommonFormatter.FormatExceptionResponse(response, base.Response, ex);
                if ((ex is WebServiceException) == false)
                {
                    toDoMgr.LogException(ex);
                }
            }
            finally
            {
                List <string> patientIds = null;
                if (request.ToDo != null)
                {
                    patientIds = new List <string>();
                    patientIds.Add(request.ToDo.PatientId);
                }
                if (result != null)
                {
                    AuditHelper.LogAuditData(request, result.SQLUserId, patientIds, System.Web.HttpContext.Current.Request, request.GetType().Name);
                }
            }
            return(response);
        }
Пример #14
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();
        }
Пример #15
0
        public void GetToDosTest()
        {
            SchedulingManager ngm = new SchedulingManager();

            GetToDosRequest request = new GetToDosRequest
            {
                Version        = version,
                ContractNumber = contractNumber,
                UserId         = userId,
                AssignedToId   = "5325c821072ef705080d3488",
                // FromDate = DateTime.Parse("9/1/2014 3:47:01 PM"),
                StatusIds = new List <int> {
                    1, 3
                }
            };

            GetToDosResponse             response = ngm.GetToDos(request);
            List <AppDomain.NG.DTO.ToDo> list     = response.ToDos;

            Assert.IsNotNull(list);
        }
 private void PersistState()
 {
     if (base.Id != Guid.Empty)
     {
         SchedulingManager schedulingManager = new SchedulingManager();
         this.CopyToTaskData(schedulingManager.GetTaskData(base.Id));
         schedulingManager.SaveChanges();
     }
 }