Want a Server to only run one project, and it's associated sub-projects, at a time.
Does anyone have an idea on modifying a selector so that a server is taken out of the pool of available servers while it is running a project.
Ideas? Can we set up our selector such that the first step of the project modifies something on the machine, so that it no longer meets a criteria. A file is created or it's contents changed?
I'm researching this myself, but if anyone already has a working method I would appreciate hearing about it.
thanks
One answer
Comments
I have tried using the Selector property BF_EXCLUSIVE, but it appears to be causing Pass Chain/Fail Chain steps to fail with "No server connection available ...". Apparently BF doesn't consider anything other than inline called libraries to part of the project, so BF_EXCLUSIVE also prevent the PassFail libraries from running.
If you are chaining, then that makes it much trickier. I suppose you could set a MAX_JOBS limit of one on each server and make the projects sticky. But that doesn't reserve the slot on each server for the duration of the job. What is the end goal for only allowing a single server for the job? Is it just a resource issue? If so then then MAX_JOBS by itself would be enough to make sure that only one job runs per server. Build Forge considers the chained jobs to be separate jobs, so its difficult to try to wrangle them to do anything together selector-wise.