parallel expect a set of closures, each closure being ran in a separate
thread :

parallel( { build(A) },
            { build(B) }
)


2012/11/9 r2_ <rle...@dailyvoice.com>

> Hey, I got a really cool looking error using Build Flow Plugin.  The flow
> is just 2 parameterized jobs which should run in parallel on different
> nodes.  Here's the DSL:
>
> parallel (
>   build("agile_code", ENVIRONMENT: params["ENVIRONMENT"], ACTION:
> params["ACTION"]),
>   build("agile_db",   ENVIRONMENT: params["ENVIRONMENT"], ACTION:
> params["ACTION"])
> )
>
> Unfortunately, the jobs run serially.  Jenkins is v1.487, Build Flow
> Plugin is v0.5.  Stacktrace is below.
>
> Apologies if I'm just plain doing this wrong.  Is there a better way to
> run parallel jobs or a better way to use this module?  Thanks!
>
> ============================
>
> Started by user anonymous <https://alpha.n-ws.org/jenkins/user/null>
> Building remotely on delta <https://alpha.n-ws.org/jenkins/computer/delta> in 
> workspace /var/lib/jenkins/workspace/test_create_environment_flow
> Trigger job agile_code 
> <https://alpha.n-ws.org/jenkins/job/agile_code/>agile_code #11 
> <https://alpha.n-ws.org/jenkins/job/agile_code/11/> completed
> Trigger job agile_db <https://alpha.n-ws.org/jenkins/job/agile_db/>agile_db 
> #7 <https://alpha.n-ws.org/jenkins/job/agile_db/7/> completed
> FATAL: No signature of method: 
> com.cloudbees.plugins.flow.FlowDelegate.parallel() is applicable for argument 
> types: (com.cloudbees.plugins.flow.JobInvocation, 
> com.cloudbees.plugins.flow.JobInvocation) values: [running job :agile_code, 
> running job :agile_db]
> Possible solutions: parallel([Lgroovy.lang.Closure;), 
> parallel(java.util.Collection)groovy.lang.MissingMethodException 
> <http://stacktrace.jenkins-ci.org/search?query=groovy.lang.MissingMethodException>:
>  No signature of method: com.cloudbees.plugins.flow.FlowDelegate.parallel() 
> is applicable for argument types: (com.cloudbees.plugins.flow.JobInvocation, 
> com.cloudbees.plugins.flow.JobInvocation) values: [running job :agile_code, 
> running job :agile_db]
> Possible solutions: parallel([Lgroovy.lang.Closure;), 
> parallel(java.util.Collection)
>       at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
>       at 
> sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
>       at 
> sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
>       at java.lang.reflect.Constructor.newInstance(Constructor.java:532)
>       at 
> org.codehaus.groovy.reflection.CachedConstructor.invoke(CachedConstructor.java:77)
>       at 
> org.codehaus.groovy.runtime.callsite.ConstructorSite$ConstructorSiteNoUnwrapNoCoerce.callConstructor(ConstructorSite.java:102)
>       at 
> org.codehaus.groovy.runtime.callsite.AbstractCallSite.callConstructor(AbstractCallSite.java:198)
>       at 
> com.cloudbees.plugins.flow.FlowDelegate.methodMissing(FlowDSL.groovy:235)
>       at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>       at 
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
>       at 
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>       at java.lang.reflect.Method.invoke(Method.java:616)
>       at 
> org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:90)
>       at groovy.lang.MetaClassImpl.invokeMissingMethod(MetaClassImpl.java:811)
>       at 
> groovy.lang.MetaClassImpl.invokePropertyOrMissing(MetaClassImpl.java:1103)
>       at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1056)
>       at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:884)
>       at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:704)
>       at com.cloudbees.plugins.flow.FlowDelegate.invokeMethod(FlowDSL.groovy)
>       at 
> org.codehaus.groovy.runtime.metaclass.ClosureMetaClass.invokeOnDelegationObjects(ClosureMetaClass.java:407)
>       at 
> org.codehaus.groovy.runtime.metaclass.ClosureMetaClass.invokeMethod(ClosureMetaClass.java:348)
>       at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:884)
>       at 
> org.codehaus.groovy.runtime.callsite.PogoMetaClassSite.callCurrent(PogoMetaClassSite.java:66)
>       at 
> org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCallCurrent(CallSiteArray.java:46)
>       at 
> org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:133)
>       at 
> org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:145)
>       at Script1$_run_closure1.doCall(Script1.groovy:3)
>       at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>       at 
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
>       at 
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>       at java.lang.reflect.Method.invoke(Method.java:616)
>       at 
> org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:90)
>       at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:233)
>       at 
> org.codehaus.groovy.runtime.metaclass.ClosureMetaClass.invokeMethod(ClosureMetaClass.java:272)
>       at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:884)
>       at 
> org.codehaus.groovy.runtime.callsite.PogoMetaClassSite.callCurrent(PogoMetaClassSite.java:66)
>       at 
> org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCallCurrent(CallSiteArray.java:46)
>       at 
> org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:133)
>       at 
> org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:141)
>       at Script1$_run_closure1.doCall(Script1.groovy)
>       at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>       at 
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
>       at 
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>       at java.lang.reflect.Method.invoke(Method.java:616)
>       at 
> org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:90)
>       at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:233)
>       at 
> org.codehaus.groovy.runtime.metaclass.ClosureMetaClass.invokeMethod(ClosureMetaClass.java:272)
>       at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:884)
>       at 
> org.codehaus.groovy.runtime.callsite.PogoMetaClassSite.call(PogoMetaClassSite.java:39)
>       at 
> org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:42)
>       at 
> org.codehaus.groovy.runtime.callsite.PogoMetaClassSite.call(PogoMetaClassSite.java:54)
>       at 
> org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:112)
>       at 
> com.cloudbees.plugins.flow.FlowDSL$_executeFlowScript_closure3_closure4.doCall(FlowDSL.groovy:87)
>       at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>       at 
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
>       at 
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>       at java.lang.reflect.Method.invoke(Method.java:616)
>       at 
> org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:90)
>       at 
> org.codehaus.groovy.runtime.metaclass.ClosureMetaMethod.invoke(ClosureMetaMethod.java:80)
>       at 
> org.codehaus.groovy.runtime.callsite.PogoMetaMethodSite$PogoMetaMethodSiteNoUnwrapNoCoerce.invoke(PogoMetaMethodSite.java:308)
>       at 
> org.codehaus.groovy.runtime.callsite.PogoMetaMethodSite.callCurrent(PogoMetaMethodSite.java:52)
>       at 
> org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCallCurrent(CallSiteArray.java:46)
>       at 
> org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:133)
>       at 
> org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:141)
>       at Script1.run(Script1.groovy:1)
>       at Script1$run.call(Unknown Source)
>       at 
> org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:42)
>       at Script1$run.call(Unknown Source)
>       at 
> com.cloudbees.plugins.flow.FlowDSL.executeFlowScript(FlowDSL.groovy:91)
>       at com.cloudbees.plugins.flow.FlowRun$RunnerImpl.doRun(FlowRun.java:137)
>       at 
> hudson.model.AbstractBuild$AbstractBuildExecution.run(AbstractBuild.java:589)
>       at hudson.model.Run.execute(Run.java:1516)
>       at hudson.model.Run.run(Run.java:1462)
>       at com.cloudbees.plugins.flow.FlowRun.run(FlowRun.java:119)
>       at hudson.model.ResourceController.execute(ResourceController.java:88)
>       at hudson.model.Executor.run(Executor.java:236)
>       at hudson.model.OneOffExecutor.run(OneOffExecutor.java:66)
>
>

Reply via email to