public void TestInitialize() { this.InitDbContext(); var dbFactory = new DatabaseFactory(); _repository = new TaskQueueRepository(dbFactory); ClearTaskQueueContext(); }
public void ClearMinStartDateForAssignmentAppraisersForOrder(int appraiserOrderId) { using (var dbFactory = new DatabaseFactory()) { var repository = new TaskQueueRepository(dbFactory); repository.ClearMinStartDateForAssignmentAppraisersForOrder(appraiserOrderId); } }
public void TestInitialize() { base.InitDbContext(); var kernel = new StandardKernel(); kernel.Load<StorageModuleForWCF>(); kernel.Load<LogicModule>(); kernel.Load<TaskQueueModule>(); _repository = new TaskQueueRepository(this.DbFactory); _taskQueueManager = kernel.Get<TaskQueueManager>(); _userRepository = Substitute.For<IUserRepository>(); ClearTaskQueueContext(); }
public void Run() { try { if (Task.TaskStatus != TaskStatus.Error) { if (Task.TaskType.MaxPoolingTask.HasValue && Task.PoolingTaskNumber >= Task.TaskType.MaxPoolingTask) { Task.TaskStatus = TaskStatus.Error; Task.ErrorMessage = "Max pooling task"; SendMaxPoolingTaskNotificationInternal(); } else { LaunchTask(); if (Task.TaskStatus != TaskStatus.Error) Task.TaskStatus = TaskStatus.Completed; } EndTask(); } } catch (Exception ex) { if (!ex.Data.Contains("TaskId")) ex.Data.Add("TaskId", Task.Id); Task.ErrorMessage = Logger.WriteError(ex).ToString(); Task.TaskStatus = TaskStatus.Error; CreateResendOnErrorTask(); } finally { try { using (var dbFactory = new DatabaseFactory()) { var repository = new TaskQueueRepository(dbFactory); repository.SetTaskEnd(Task.Id, Task.TaskStatus, Task.Result, Task.ErrorMessage); } } catch (Exception ex) { Logger.WriteError(ex); } } }
public static void AddNew(TaskTypeEnum taskType, Dictionary<TaskParamsKey, string> parameters = null, DateTime? minStartDate = null, int? parentTaskId = null) { Task task = new Task(); task.CreateDate = DateTime.Now; task.TaskStatus = TaskStatus.Pending; task.TaskTypeEnum = taskType; task.MinStartDate = minStartDate; task.ParentTaskId = parentTaskId; if (parameters != null) { task.TaskParams = new List<TaskParam>(); foreach (var item in parameters) { task.TaskParams.Add(new TaskParam(item.Key, item.Value)); } } using (var dbFactory = new DatabaseFactory()) { var repository = new TaskQueueRepository(dbFactory); repository.Add(task); } }
public void ProcessQueue() { try { lock (_lockObj) { using (var dbFactory = new DatabaseFactory()) { var repository = new TaskQueueRepository(dbFactory); var tasks = repository.GetTasksToRun(); foreach (var task in tasks) { var baseTask = _taskFactory.CreateTask(task.TaskTypeEnum); baseTask.Load(task); System.Threading.Tasks.Task.Factory.StartNew(baseTask.Run); } } } } catch (Exception ex) { Logger.WriteError(ex); } }
public JobAndTaskService() { _jobRepository = new JobRepository(); _taskRepository = new TaskQueueRepository(); }