Kinook Software Forum

Kinook Software Forum (https://www.kinook.com/Forum/index.php)
-   [VBP] Suggestions (https://www.kinook.com/Forum/forumdisplay.php?f=4)
-   -   Help with parallel building (https://www.kinook.com/Forum/showthread.php?t=5598)

deramor 08-07-2019 10:43 AM

Help with parallel building
 
Hello,

Over the years, I've attempted to build in parallel builds to my processes but ultimately it has proven difficult. I was brainstorming about it and something that I think would help is the idea of a step anchor.

Let me explain:
Currently a wait step can wait for various things but not a list of steps to complete. If each step had an anchor, the wait can be told to only continue once these steps finish or pass.

An anchor, in my view, would be a field on each step that is a unique value (maybe a guid??) that is generated when the step is added to the build process. I decided not to do this by step number because step numbers tend to change over time.

Does any of this sound like it is helpful or already built in? I've tried to manage parallel builds using PIDs but it ended up being incredibly difficult to manage.

kinook 08-08-2019 09:00 AM

Each step does have an ID property

https://kinook.com/VisBuildPro/Manual/idproperty.htm

which can be searched on

https://kinook.com/VisBuildPro/Manual/findmethod.htm

although it is not immutable and can change if a step's position in the build changes (steps added or removed before it).

We will consider making the ID persistent and unchanging. Probably would not use a GUID because it could cause file bloat.


Have you tried chained builds?

https://www.kinook.com/VisBuildPro/M...hainsample.htm

deramor 08-08-2019 12:15 PM

Hmm that could work but I agree that the logic would be disrupted by changing the number of steps above it. It also doesn't look like there is a way to get a step index by string name. Only by a long.

I'll defer to your expertise about how to persist a unique identifier. The GUID suggestion was only a thought.

Using your suggestions, a wait step would need to be script step.

It would have to retrieve all the step IDs it cared about, then inspect those step objects for a BuildStatus of vbldStepStatSucceeded. If not all are done, do not continue. All of that would need to be in a loop.

When I wrote the initial post, I envisioned all of this happening within a wait step itself. As an input option, instead of providing a list of PIDs to not exist or files to be created, just a list of steps to have status vbldStepStatSucceeded (or any status for that matter). The wait wouldn't need to be in a loop.

My only concern is how would the wait stop waiting and ultimately end the build or fail the build if a step never returned. Perhaps being able to set a step failure status that would force the wait to stop and end the build once all other steps resolved with some kind of status...success or otherwise.

I would be happy to discuss this with you on the phone if you'd like. I believe this would be a really helpful feature. It would likely be something that I can use to justify our site license upgrade from 9.x to 10.x :)

deramor 05-18-2020 01:05 PM

Any thoughts about this feature? Is it on the product roadmap?

kinook 05-18-2020 02:27 PM

It is on our todo list. No ETA at this point, though (it's a large effort).

deramor 09-03-2021 09:45 AM

Hey just checking in. It's been over a year. Any movement on this feature?
I was thinking about this as I watch a long 45 minute process run that could have been run in parallel with the rest of my build. In this case, it could cut the build time in half.

kinook 09-03-2021 02:02 PM

Nothing to report at this time.

deramor 06-22-2022 12:21 PM

Fingers crossed. Are there any plans to add something like this?


All times are GMT -5. The time now is 02:20 PM.


Copyright © 1999-2023 Kinook Software, Inc.