Ah! now I'm getting it :)
yesnomaybe... The idea is not bad but I have to investigate if it is 
feasible.


   - The workspaces for these particular jobs are not small and have to 
   share harddisk space with other jobs. Currently does one machine build all 
   these special jobs as it for this purpose has several TB of disk space. 
   This could require some hardware reconfiguration. No fun but possible.
   - Worse is that I would have to adapt all boxes to meet the requirements 
   for these jobs. The environment is quite special and tricky. It is already 
   a hassle set it newly up on that single machine but to recreate on 
   productive machines which already are set up needs some special treatment 
   to ensure that nothing is interferring.
   - The machines provide per box 3 nodes with up to 3 executors per node 
   so that would not be a problem to make a split for the exclusive jobs.

I have to analyze it but this is probably the smartest approach if no 
convenient plugin is available.

Cheers
Jan

Am Donnerstag, 28. Juni 2012 12:41:04 UTC+2 schrieb Jan Seidel:
>
> Hi folks,
>
> I am trying to parallelize some of our builds to speed things up.
> This particular build is quite special as it also interacts with 
> databases. Multiple write access on a database will wreck the content, so 
> this must be avoided by all means. It takes us in worst cast out of 
> business for 2 weeks and creates loads of work and stress.
>
> Don't ask me why the DB design is as it is, that's pretty complicated, 
> insane, sooo wrong and not worth discussing in order to fix that issue and 
> let the build jobs just do what they are meant to do.
> Have been there, didn't like it, went away!
>
> The initial build job is a dispatcher that decides which job to run. So 
> far quite easy but it also checks for 2 conditions which requires to almost 
> identical jobs asides of one of the repositories location.
> *So the jobs access mostly the same ressources including the database 
> which must not be simultaneously!* So they are a kind of "*siblings*"
> The default is set that inhibits to spawn duplicate jobs but with this 
> second condition is it changing a bit. The second condition requires to 
> block a job if a duplicate or the sibling is running
>
> This brings me to a dumb situation. Either I find a way to:
>
>    - refer to related AND non-related jobs which may block a build
>    - block on top-level (the dispatcher). This works but scraps all my 
>    efforts to get jobs not sharing same ressources to run in parallel
>    - do not block jobs and hope that the developers don't botch it and 
>    wreck a database *yuk*
>
> Do you know a solution to block a job if a clone or a sibling already is 
> running?
>
>
>
> Cheers
>
> Jan
>

Reply via email to