[Crossposting from  Jenkins Users because I have not been lucky there with 
workflow questions.]

My pilot project flow spreads work across a pool of single-executor general 
purpose slaves like the following very simple example:

// Assume 'taskDoers' label includes two nodes, one executor each
final tasks = [
  task0: {
    node('taskDoers') {
      // do some stuff
    }
  },
  task1: {
    node('taskDoers') {
      // do some other stuff
    }
  },
  task2: {
    node('taskDoers') {
      // do still more stuff
    }
  },
]

parallel tasks

But that leaves an odd branch out, the third. Which seems to be silently 
discarded (never scheduled or executed), as far as I can tell. The main 
flow console is something like the following:

Running: Change Directory : Start
Running in C:\Jenkins\workspace\pilot-flow@2\plans
Running: Change Directory : Body : Start
Running: Read file from workspace
Running: Read file from workspace
Running: Change Directory : Body : End
Running: Change Directory : End
Running: Allocate node : Body : End
Running: Allocate node : End
Running: Pick
Entering stage Pick
Proceeding
Running: Execute sub-workflows in parallel : Start
[task0] Running: Parallel branch: task0
[task1] Running: Parallel branch: task1
[task0] Running: Allocate node : Start
[task0] Running on taskDoer-02 in C:\Jenkins\workspace\pilot-flow@2
[task1] Running: Allocate node : Start
[task1] Running on taskDoer-01 in C:\Jenkins\workspace\pilot-flow@2
[task0] Running: Allocate node : Body : Start
[task1] Running: Allocate node : Body : Start
[task0] Running: Print Message
[task0] Doing a bunch of important work
Running: Allocate node : Body : End
[task1] Running: Print Message
[task1] Doing still more important work
Running: Allocate node : Body : End
Running: Allocate node : End
Running: Allocate node : End
Running: Execute sub-workflows in parallel : Body : End
Running: Execute sub-workflows in parallel : Body : End
Running: Execute sub-workflows in parallel : End
Running: End of Workflow
Finished: SUCCESS


Is this a bug? A feature? I can envision a workaround, which is to size up 
the pool of nodes with a matching label and then chunk up groups of threads 
to spread evenly across that pool, executing parallel steps in sequence.

For this project, we're running:

LTS 1.625.1 <http://jenkins-ci.org/>
Master: Windows Server 2008 R2
Master: JDK 1.8.0.45 JRE
Slaves: mix of Windows Server 2008 R2 Standard and Enterprise
Slaves: mix of 1.7.0.458 JRE, 1.7.0.710 JRE, and 1.7.0.210 JRE

-- 
You received this message because you are subscribed to the Google Groups 
"Jenkins Developers" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/jenkinsci-dev/cd8d8e09-8f21-4dd9-a5d4-7ce87e85b8ee%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to