Example #1
0
		public void TestInitialize()
		{
			this.InitDbContext();

			var dbFactory = new DatabaseFactory();
			_repository = new TaskQueueRepository(dbFactory);

			ClearTaskQueueContext();
		}
Example #2
0
		public void ClearMinStartDateForAssignmentAppraisersForOrder(int appraiserOrderId)
		{
			using (var dbFactory = new DatabaseFactory())
			{
				var repository = new TaskQueueRepository(dbFactory);

				repository.ClearMinStartDateForAssignmentAppraisersForOrder(appraiserOrderId);
			}
		}
Example #3
0
		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();
		}
Example #4
0
		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);
				}
			}
		}
Example #5
0
		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);
			}
		}
Example #6
0
		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);
			}
		}
Example #7
0
 public JobAndTaskService()
 {
     _jobRepository  = new JobRepository();
     _taskRepository = new TaskQueueRepository();
 }