22
33import org .apache .logging .log4j .Logger ;
44import org .jetbrains .annotations .NotNull ;
5- import org .labkey .api .data .ContainerManager ;
6- import org .labkey .api .data .DbSequence ;
7- import org .labkey .api .data .DbSequenceManager ;
85import org .labkey .api .exp .XarFormatException ;
96import org .labkey .api .pipeline .AbstractTaskFactory ;
107import org .labkey .api .pipeline .AbstractTaskFactorySettings ;
@@ -40,8 +37,6 @@ public class NextFlowRunTask extends WorkDirectoryTask<NextFlowRunTask.Factory>
4037
4138 public static final String ACTION_NAME = "NextFlow" ;
4239
43- private static final DbSequence INVOCATION_SEQUENCE = DbSequenceManager .get (ContainerManager .getRoot (), NextFlowRunTask .class .getName ());
44-
4540 public NextFlowRunTask (Factory factory , PipelineJob job )
4641 {
4742 super (factory , job );
@@ -54,9 +49,9 @@ public NextFlowRunTask(Factory factory, PipelineJob job)
5449
5550 // NextFlow requires a unique job name for every execution. Increment a counter to append as a suffix to
5651 // ensure uniqueness
57- long invocationCount = INVOCATION_SEQUENCE . next ( );
58- INVOCATION_SEQUENCE . sync ();
59- NextFlowPipelineJob .LOG .info ("Starting to execute NextFlow: {}" , getJob ().getJsonJobInfo (invocationCount ));
52+ NextFlowManager . get (). incrementInvocationCount ( getJob () );
53+
54+ NextFlowPipelineJob .LOG .info ("Starting to execute NextFlow: {}" , getJob ().getJsonJobInfo (true ));
6055
6156 SecurityManager .TransformSession session = null ;
6257 boolean success = false ;
@@ -83,10 +78,10 @@ public NextFlowRunTask(Factory factory, PipelineJob job)
8378 File dir = getJob ().getLogFile ().getParentFile ();
8479 getJob ().runSubProcess (secretsPB , dir );
8580
86- ProcessBuilder executionPB = new ProcessBuilder (getArgs (invocationCount ));
81+ ProcessBuilder executionPB = new ProcessBuilder (getArgs ());
8782 getJob ().runSubProcess (executionPB , dir );
8883 log .info ("Job Finished" );
89- NextFlowPipelineJob .LOG .info ("Finished executing NextFlow: {}" , getJob ().getJsonJobInfo (invocationCount ));
84+ NextFlowPipelineJob .LOG .info ("Finished executing NextFlow: {}" , getJob ().getJsonJobInfo (true ));
9085
9186 RecordedAction action = new RecordedAction (ACTION_NAME );
9287 for (Path inputFile : getJob ().getInputFilePaths ())
@@ -110,7 +105,7 @@ public NextFlowRunTask(Factory factory, PipelineJob job)
110105 }
111106 if (!success )
112107 {
113- NextFlowPipelineJob .LOG .info ("Failed executing NextFlow: {}" , getJob ().getJsonJobInfo (invocationCount ));
108+ NextFlowPipelineJob .LOG .info ("Failed executing NextFlow: {}" , getJob ().getJsonJobInfo (true ));
114109 }
115110 }
116111 }
@@ -176,7 +171,7 @@ private boolean hasAwsSection(Path configFile) throws PipelineJobException
176171 }
177172
178173
179- private @ NotNull List <String > getArgs (long invocationCount ) throws PipelineJobException
174+ private @ NotNull List <String > getArgs () throws PipelineJobException
180175 {
181176 NextFlowConfiguration config = NextFlowManager .get ().getConfiguration ();
182177 Path configFile = getJob ().getConfig ();
@@ -201,7 +196,7 @@ private boolean hasAwsSection(Path configFile) throws PipelineJobException
201196 args .add ("-c" );
202197 args .add (configFile .toAbsolutePath ().toString ());
203198 args .add ("-name" );
204- args .add (getJob ().getNextFlowRunName (invocationCount ));
199+ args .add (getJob ().getNextFlowRunName (true ));
205200 return args ;
206201 }
207202
0 commit comments