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
>

Reply via email to