Class AnalysisExecutionScheduledTaskImpl
- java.lang.Object
-
- ca.corefacility.bioinformatics.irida.service.impl.AnalysisExecutionScheduledTaskImpl
-
- All Implemented Interfaces:
AnalysisExecutionScheduledTask
public class AnalysisExecutionScheduledTaskImpl extends java.lang.Object implements AnalysisExecutionScheduledTask
Implementation of analysis execution tasks. This will scan forAnalysisSubmissions and execute theAnalysisdefined by the submissions.
-
-
Constructor Summary
Constructors Constructor Description AnalysisExecutionScheduledTaskImpl(AnalysisSubmissionRepository analysisSubmissionRepository, AnalysisExecutionService analysisExecutionServiceGalaxy, CleanupAnalysisSubmissionCondition cleanupCondition, GalaxyJobErrorsService galaxyJobErrorsService, JobErrorRepository jobErrorRepository, EmailController emailController, AnalysisWorkspaceService analysisWorkspaceService)Builds a new AnalysisExecutionScheduledTaskImpl with the given service classes.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description java.util.Set<java.util.concurrent.Future<AnalysisSubmission>>cleanupAnalysisSubmissions()Cycle through any completed or erroredAnalysisSubmissions and delete intermediate files in the execution manager.java.util.Set<java.util.concurrent.Future<AnalysisSubmission>>executeAnalyses()Cycle through any outstandingAnalysisSubmissions and execute them.java.util.Set<java.util.concurrent.Future<AnalysisSubmission>>monitorRunningAnalyses()Cycle through anyAnalysisSubmissions currently running and mark as complete any completed analyses.java.util.Set<java.util.concurrent.Future<AnalysisSubmission>>postProcessResults()Cycle through any transferredAnalysisSubmissions and perform post processing as necessaryjava.util.Set<java.util.concurrent.Future<AnalysisSubmission>>prepareAnalyses()Cycle through newAnalysisSubmissions and prepare them for execution.java.util.Set<java.util.concurrent.Future<AnalysisSubmission>>transferAnalysesResults()Cycle through any completedAnalysisSubmissions and transfer the results to IRIDA.
-
-
-
Constructor Detail
-
AnalysisExecutionScheduledTaskImpl
@Autowired public AnalysisExecutionScheduledTaskImpl(AnalysisSubmissionRepository analysisSubmissionRepository, AnalysisExecutionService analysisExecutionServiceGalaxy, CleanupAnalysisSubmissionCondition cleanupCondition, GalaxyJobErrorsService galaxyJobErrorsService, JobErrorRepository jobErrorRepository, EmailController emailController, AnalysisWorkspaceService analysisWorkspaceService)
Builds a new AnalysisExecutionScheduledTaskImpl with the given service classes.- Parameters:
analysisSubmissionRepository- A repository forAnalysisSubmissions.analysisExecutionServiceGalaxy- A service for executingAnalysisSubmissions.cleanupCondition- The condition defining when anAnalysisSubmissionshould be cleaned up.galaxyJobErrorsService-GalaxyJobErrorsServicefor gettingJobErrorobjectsjobErrorRepository-JobErrorRepositoryforJobErrorobjectsemailController-EmailControllerfor sending completion/error emails forAnalysisSubmissionsanalysisWorkspaceService-AnalysisWorkspaceService
-
-
Method Detail
-
prepareAnalyses
public java.util.Set<java.util.concurrent.Future<AnalysisSubmission>> prepareAnalyses()
Cycle through newAnalysisSubmissions and prepare them for execution.- Specified by:
prepareAnalysesin interfaceAnalysisExecutionScheduledTask- Returns:
- A
SetofFutureAnalysisSubmissions reflecting the changes in this submission along each of the stages.
-
executeAnalyses
public java.util.Set<java.util.concurrent.Future<AnalysisSubmission>> executeAnalyses()
Cycle through any outstandingAnalysisSubmissions and execute them.- Specified by:
executeAnalysesin interfaceAnalysisExecutionScheduledTask- Returns:
- A
SetofFutureAnalysisSubmissions reflecting the changes in this submission along each of the stages.
-
monitorRunningAnalyses
public java.util.Set<java.util.concurrent.Future<AnalysisSubmission>> monitorRunningAnalyses()
Cycle through anyAnalysisSubmissions currently running and mark as complete any completed analyses.- Specified by:
monitorRunningAnalysesin interfaceAnalysisExecutionScheduledTask- Returns:
- A
SetofFutureAnalysisSubmissions reflecting the changes in this submission along each of the stages.
-
transferAnalysesResults
public java.util.Set<java.util.concurrent.Future<AnalysisSubmission>> transferAnalysesResults()
Cycle through any completedAnalysisSubmissions and transfer the results to IRIDA.- Specified by:
transferAnalysesResultsin interfaceAnalysisExecutionScheduledTask- Returns:
- A
SetofFutureAnalysisSubmissions reflecting the changes in this submission along each of the stages.
-
postProcessResults
public java.util.Set<java.util.concurrent.Future<AnalysisSubmission>> postProcessResults()
Cycle through any transferredAnalysisSubmissions and perform post processing as necessary- Specified by:
postProcessResultsin interfaceAnalysisExecutionScheduledTask- Returns:
- a Set of Future
AnalysisSubmissions
-
cleanupAnalysisSubmissions
public java.util.Set<java.util.concurrent.Future<AnalysisSubmission>> cleanupAnalysisSubmissions()
Cycle through any completed or erroredAnalysisSubmissions and delete intermediate files in the execution manager.- Specified by:
cleanupAnalysisSubmissionsin interfaceAnalysisExecutionScheduledTask- Returns:
- A
SetofFutureAnalysisSubmissions for all the analyses that were cleaned.
-
-