Don't start recurring job until previous job has finished

I’ve a recurring job “A” running every 5 minutes. On execution job “A” creates a several instances of job “B” and after each job “B” was successful job “C” will be run.
Now it can happen that the processing of all the job “B” and job “C” instances might take longer than the 5 minutes interval between job “A”.

Is there any way to suppress starting of new job “A” instances as long as any instance of job “B” or job “C” is still queued or processing?


I am also looking for a solution to similar problem. I tried acquiring lock on the current running job but it always throws exception.

Anyone have any idea on how to implement this?


I have got some hints in this discussion thread. here is the link Recurring job doesn't wait last triggered job to finish
I keep getting lock acquire failed. I am still working on it to get around this issue.