private boolean blockOnPipeLine ( ) { if ( this . isKilled ( ) ) { return true ; } // For pipelining of jobs. Will watch other jobs. if ( ! this . pipelineJobs . isEmpty ( ) ) { String blockedList = "" ; final ArrayList < BlockingStatus > blockingStatus = new ArrayList <> ( ) ; for ( final String waitingJobId : this . pipelineJobs ) { final Status status = this . watcher . peekStatus ( waitingJobId ) ; if ( status != null && ! Status . isStatusFinished ( status ) ) { final BlockingStatus block = this . watcher . getBlockingStatus ( waitingJobId ) ; blockingStatus . add ( block ) ; blockedList += waitingJobId + "," ; } } if ( ! blockingStatus . isEmpty ( ) ) { this . logger . info ( "Pipeline job " + this . jobId + " waiting on " + blockedList + " in execution " + this . watcher . getExecId ( ) ) ; for ( final BlockingStatus bStatus : blockingStatus ) { this . logger . info ( "Waiting on pipelined job " + bStatus . getJobId ( ) ) ; this . currentBlockStatus = bStatus ; bStatus . blockOnFinishedStatus ( ) ; if ( this . isKilled ( ) ) { this . logger . info ( "Job was killed while waiting on pipeline. Quiting." ) ; return true ; } else { this . logger . info ( "Pipelined job " + bStatus . getJobId ( ) + " finished." ) ; } } } } this . currentBlockStatus = null ; return false ; }
If pipelining is set will block on another flow s jobs .