Thanks Alot, Jesse and Davin for all you time and helping me learn it 
better. 

I cannot use *SimpleBuildWrapper *as it it has the restriction of carrying 
Context env variable (JENKINS-29144). Which i had discussed with Jesse in 
below thread
https://groups.google.com/forum/?nomobile=true#!topic/jenkinsci-dev/yOOPaxN-1vk

I am looking for Pipeline specific solution for this and 
*SynchronousNonBlockingStepExecution 
*looks promising but yes my execution may vary in time definitely would 
take more than a fraction of second. I guess i am left with only choice of 
trying *block-scoped `Step`*


On Friday, 24 July 2020 00:26:02 UTC+5:30, Devin Nusbaum wrote:
>
> Nikhil, maybe to make it clearer, what we mean is that instead of using 
> your step like this: 
>
> ``` 
> runMATLABCommand "disp('************TIMEOUT 
> STARTED********');disp(datetime('now'));pause(6*60);disp('************TIMEOUT 
> ENDED********');disp(datetime('now'))"   
> ``` 
>
> You would implement a SimpleBuildWrapper or a block-scoped step so that 
> users would instead do something like this (no idea how the Matlab 
> executable works or how it accepts arguments, my escaping is probably wrong 
> as well): 
>
> ``` 
> withMatlab(…) { 
>   sh(‘matlab "disp('************TIMEOUT 
> STARTED********');disp(datetime(\’now\'));pause(6*60);disp('************TIMEOUT
>  
> ENDED********');disp(datetime(\‘now\’))"') 
> } 
> ``` 
>
> Maybe with a small helper step to convert a matlab command into a shell 
> command if escaping for both Matlab and the shell is tedious, or if there 
> are a bunch of arguments that the step needs to add automatically: 
>
> ``` 
> withMatlab(…) { 
>   sh(createMatlabCommand("disp('************TIMEOUT 
> STARTED********');disp(datetime('now'));pause(6*60);disp('************TIMEOUT 
> ENDED********');disp(datetime('now'))") 
> } 
> ``` 
>
> With these kinds of approaches you don’t have to actually implement the 
> complex pieces of the `sh` step yourself. I mentioned the `sh` step to show 
> you how complicated it is to implement something similar, but I should have 
> been clearer that you should really reconsider your step’s design; trying 
> to reimplement the `sh` step does not make sense. 
>
>
> > On Jul 23, 2020, at 14:34, Jesse Glick <[email protected] 
> <javascript:>> wrote: 
> > 
> > On Thu, Jul 23, 2020 at 1:02 PM Nikhil Bhoski <[email protected] 
> <javascript:>> wrote: 
> >> i am looking into these classes here i hope i am at rite location. 
> >> 
> >> 
> https://github.com/jenkinsci/workflow-durable-task-step-plugin/blob/e7c2d46eee43966560a3b9274aab3745a8e8f841/src/main/java/org/jenkinsci/plugins/workflow/steps/durable_task/DurableTaskStep.java#L99
>  
> > 
> > You do not need to look at `DurableTaskStep` implementation at all. 
> > Just implement `SimpleBuildWrapper`, which is quite straightforward. 
> > Or if you need Pipeline specifics, a block-scoped `Step`; there are 
> > plenty of examples, such as in the `ant` plugin (whose tests also 
> > demonstrate usage). 
> > 
> > You _can_ implement `SynchronousNonBlockingStepExecution` but then 
> > your step will not survive a Jenkins restart, so this should not be 
> > done if you expect it to take more than a fraction of a second, which 
> > I understand is not at all the case for you. 
> > 
> > -- 
> > 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] <javascript:>. 
> > To view this discussion on the web visit 
> https://groups.google.com/d/msgid/jenkinsci-dev/CANfRfr001XJJ4GS-MOQ2tEw8ef7wvtP2XMYh94gey_EhqK5kug%40mail.gmail.com.
>  
>
>
>

-- 
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/80cbf018-7b9d-4a2b-9af5-5a1240c2ab15o%40googlegroups.com.

Reply via email to