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); } } } }