Hi Thomas, have a look at https://wiki.jenkins-ci.org/display/JENKINS/Build+Blocker+Plugin. I used the QueueTaskDispatcher as Extension Point for a similar problem. There you just implement canRun or canTake method with your resource managed logic.
Hope this helps, Cheers, Frederik 2012/8/13 ThomasBrouwer <[email protected]> > Hi there! > > I am currently planning on making a new plugin that extends the > functionality of the Exclusion plugin ( > https://wiki.jenkins-ci.org/display/JENKINS/Exclusion-Plugin). What the > plugin will allow you to do is to specify multiple resources of the same > type, so that a pool of resources is created. When a job then needs that > resource, it will be given one of them and there will be one less resource > in the pool. This means we can specify how many jobs requiring the same > type of resource can run (by making that many resources). When a resource > is allocated, its name should also be passed to the job so that we know > which of the resources was given. Also, when a resource is not available > the job should go back into the queue, rather than waiting and taking up an > execution slot. > This is useful when, for example, you have multiple devices set up in a > lab that you want a job to connect to, but there are multiple boards a job > can use, and some it can't (because it requires a specific type of board). > Currently we need to specify which of the boards it always runs on, but > that is not very flexible. Sometimes a job may require multiple resources > as well. > > Now the question is: Does Jenkins allow you to change the way it schedules > its jobs? That seems to be the most challenging part of this plugin, and I > got the impression some things cannot be changed. Can this? > > Any help is greatly appreciated! > Thomas Brouwer >
