22
33import lombok .Getter ;
44import org .apache .commons .lang3 .StringUtils ;
5+ import org .apache .logging .log4j .Logger ;
56import org .jetbrains .annotations .NotNull ;
7+ import org .json .JSONObject ;
68import org .labkey .api .data .Container ;
79import org .labkey .api .files .FileContentService ;
810import org .labkey .api .pipeline .ParamParser ;
911import org .labkey .api .pipeline .PipeRoot ;
1012import org .labkey .api .pipeline .PipelineJobService ;
13+ import org .labkey .api .pipeline .PipelineService ;
14+ import org .labkey .api .pipeline .PipelineStatusFile ;
1115import org .labkey .api .pipeline .TaskId ;
1216import org .labkey .api .pipeline .TaskPipeline ;
1317import org .labkey .api .pipeline .file .AbstractFileAnalysisJob ;
1418import org .labkey .api .util .FileUtil ;
1519import org .labkey .api .util .PageFlowUtil ;
20+ import org .labkey .api .util .StringUtilsLabKey ;
21+ import org .labkey .api .util .logging .LogHelper ;
1622import org .labkey .api .view .ViewBackgroundInfo ;
1723
1824import java .io .BufferedWriter ;
2632@ Getter
2733public class NextFlowPipelineJob extends AbstractFileAnalysisJob
2834{
35+ protected static final Logger LOG = LogHelper .getLogger (NextFlowPipelineJob .class , "NextFlow jobs" );
36+
2937 private Path config ;
3038
3139 @ SuppressWarnings ("unused" ) // For serialization
@@ -51,6 +59,24 @@ public NextFlowPipelineJob(ViewBackgroundInfo info, @NotNull PipeRoot root, Path
5159 super (new NextFlowProtocol (), NextFlowPipelineProvider .NAME , info , root , config .getFileName ().toString (), config , inputFiles , false , false );
5260 this .config = config ;
5361 setLogFile (log );
62+ LOG .info ("NextFlow job queued: {}" , getJsonJobInfo ());
63+ }
64+
65+ protected JSONObject getJsonJobInfo ()
66+ {
67+ JSONObject result = new JSONObject ();
68+ result .put ("user" , getUser ().getEmail ());
69+ result .put ("container" , getContainer ().getPath ());
70+ result .put ("filePath" , getLogFilePath ().getParent ().toString ());
71+ result .put ("runName" , getNextFlowRunName ());
72+ result .put ("configFile" , getConfig ().getFileName ().toString ());
73+ return result ;
74+ }
75+
76+ protected String getNextFlowRunName ()
77+ {
78+ PipelineStatusFile file = PipelineService .get ().getStatusFile (getJobGUID ());
79+ return file == null ? "Unknown" : ("LabKeyJob" + file .getRowId ());
5480 }
5581
5682 @ Override
@@ -87,7 +113,7 @@ private static Path createConfig(Path configTemplate, Path parentDir, Path jobDi
87113 @ Override
88114 public String getDescription ()
89115 {
90- return "NextFlow analysis using " + config . getFileName () + " of " + getInputFilePaths (). size () + " files" ;
116+ return "NextFlow analysis of " + StringUtilsLabKey . pluralize ( getInputFilePaths (). size (), "file" ) + " using config: " + config . getFileName () ;
91117 }
92118
93119 @ Override
0 commit comments