Hi,

 

Phil: 

You are right, there is no property for max concurrent builds, and as far as
I am aware there are no plans to include this.

 

Sebastien:

In order to modify the queues so they can handle multiple concurrent
requests you'd probably have to modify two classes: 

.         IntegrationQueue is responsible for queuing the items and
informing the project integrators when an item is available for building.

.         ProjectIntegrator is the actual class that sets an item as ready
to build.

Theoretically it should just be a matter of modifying the code that changes
the build state from sleeping to pending (NotifyExitingIntegrationQueue() in
ProjectIntegrator and HasItemPendingOnQueue() in IntegrationQueue), but I
would be very careful around changing this as it could break the entire
build process.

 

 

Craig

 

From: [email protected] [mailto:[email protected]] On
Behalf Of Phil Sayers
Sent: Friday, 6 February 2009 4:25 a.m.
To: [email protected]
Subject: [ccnet-user] Re: For developpers: Launch an integration even if it
is pending, depending on some conditions.

 

I don't think queues will do what you want.

It sounds like you're looking for a server wide "max concurrent  builds"
setting regardless of the project/queue relationship.

 

To the best of my knowledge that doesn't exist in ccnet.  Maybe put in a
request for it.

 

 

From: [email protected] [mailto:[email protected]] On
Behalf Of Sebastien Filion
Sent: Thursday, February 05, 2009 9:22 AM
To: [email protected]
Subject: [ccnet-user] For developpers: Launch an integration even if it is
pending, depending on some conditions.

 

Hi, 

i need a way to launch a pending integration. the reason is that we have an
integration server that is use for the personnals projects from about 10
programmers (about 60 projects that take between 5 minutes and 5 hours). We
do not want that more than 3 integrations to be executed at the same time. I
think that the best way to do this is to implemented a single queue with all
projects but decide how many items on the queue can be executed at the same
time.

Then, i try to modify the code...

Here I a am:

- I declare a variable like _parallalelQueueIntegrationPermitted. 
- So if this value is set to 3, then 3 integrations on the same queue can be
launched.
- But, i can't find the class or the method that i should modify to do this.
Is it IntegrationQueue, IntegrationQueueManager or somethingelse?

Any help or comments will be appreciated.

Reply via email to