How does build queue works
3 answers
Hi,
to my knowledge the build engines look (polls in a certain interval you can set in the start-up parameters) at the queues it is responsible for. As soon as there is a request it grabs it and starts building. I don't think there s a priority mechanism behind it. Once it is done it will look at the next request in the queues and do that.
You could run several build engines using different -data folders running on one machine to do things in parallel, but I think there is no coordination besides the first engine that finds some work in its interval grabs it.
That is about all I know.
to my knowledge the build engines look (polls in a certain interval you can set in the start-up parameters) at the queues it is responsible for. As soon as there is a request it grabs it and starts building. I don't think there s a priority mechanism behind it. Once it is done it will look at the next request in the queues and do that.
You could run several build engines using different -data folders running on one machine to do things in parallel, but I think there is no coordination besides the first engine that finds some work in its interval grabs it.
That is about all I know.
Hi,
to my knowledge the build engines look (polls in a certain interval you can set in the start-up parameters) at the queues it is responsible for. As soon as there is a request it grabs it and starts building. I don't think there s a priority mechanism behind it. Once it is done it will look at the next request in the queues and do that.
You could run several build engines using different -data folders running on one machine to do things in parallel, but I think there is no coordination besides the first engine that finds some work in its interval grabs it.
That is about all I know.
Thanks Ralph. Can you explain how this works in following scenario?
Ex:
Integration Build Def 1 -> Build Engine 1
Integration Build Def 2 -> Build Engine 2
Integration Build Def 3 -> Build Engine 1
If a user (user1) requests Integration build 1,2 and 3 (in order) what I was expecting is that it will run 1 and 2 and put 3 on queue since 1 and 2 uses two different engines
But it looks like its runs 1 and puts 2 and 3 on queue for user1
Hi,
all requests should be go into the queues. The build engines should check for the next on the queue not run. There is only a queue for the build definition - unrelated to any user. I am not sure how it would prioritize the different build queues.
So the question really is, why Build Engine 2 does not pick its build up. Is that running on a different machine? E.g. you can't just run the same JBE.exe on the same machine. You have at least to provide a different workspace for the JBE e.g. using the -data <WorkspacePath>.
all requests should be go into the queues. The build engines should check for the next on the queue not run. There is only a queue for the build definition - unrelated to any user. I am not sure how it would prioritize the different build queues.
So the question really is, why Build Engine 2 does not pick its build up. Is that running on a different machine? E.g. you can't just run the same JBE.exe on the same machine. You have at least to provide a different workspace for the JBE e.g. using the -data <WorkspacePath>.