Skip to content
Snippets Groups Projects
GetAllJobsInfo.cs 1007 B
Newer Older
  • Learn to ignore specific revisions
  • Vaclav Svaton's avatar
    Vaclav Svaton committed
    using System;
    using System.Collections.Generic;
    using HaaSMiddleware.BusinessLogicTier.Factory;
    using HaaSMiddleware.DataAccessTier.UnitOfWork;
    using HaaSMiddleware.DomainObjects.JobManagement.JobInformation;
    using HaaSMiddleware.ServiceTier.JobManagement;
    
    namespace HaaSMiddleware.BackgroundThread.Tasks {
    	/// <summary>
    	///   Get all unfinished jobs from db and load their status from cluster
    	///   and updates their status in DB
    	/// </summary>
    	internal class GetAllJobsInfo : AbstractTask, IBackgroundTask {
    		public GetAllJobsInfo(TimeSpan interval) : base(interval) {}
    
    		protected override void RunTask() {
    			using (IUnitOfWork unitOfWork = new DatabaseUnitOfWork()) {
    				List<SubmittedJobInfo> updatedJobs =
    					(List<SubmittedJobInfo>) LogicFactory.GetLogicFactory().CreateJobManagementLogic(unitOfWork).UpdateCurrentStateOfUnfinishedJobs();
    				JobManagementService jobMgmtService = new JobManagementService();
    				jobMgmtService.SendSubmittedJobInfosToClient(updatedJobs);
    			}
    		}
    	}
    }